AssetManager

assets资源目录中的文件只能读不能写

AssetManager assets = getAssets();
InputStream in = assets.open("filename");
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//1. 获取到assert 目录下的db 文件AssetManager assetManager = getAssets();InputStream is = assetManager.open("myuser.db");//将文件拷贝到/data / data / com.itheima.android.asserts.sqlite / databases / myuser.db//如果databases 目录不存在则创建File file = new File("/data/data/com.itheima.android.asserts.sqlite/databases");if (!file.exists()) {file.mkdirs();}FileOutputStream fos = new FileOutputStream(new File(file, "myuser.db"));byte[] buff = new byte[1024 * 8];int len = -1;while ((len = is.read(buff)) != -1) {fos.write(buff, 0, len);}fos.close();is.close();//访问数据库SQLiteDatabase database = openOrCreateDatabase("myuser.db", MODE_PRIVATE,null);String sql = "select c_name from t_user";Cursor cursor = database.rawQuery(sql, null);while (cursor.moveToNext()) {String string = cursor.getString(0);Log.d("tag", string);}cursor.close();database.close();
}

SmsManager

SmsManager manager = SmsManager.getDefault();
ArrayList<String> messages = manager.divideMessage("message");
manager.sendMultipartTextMessage("18801911161",null,messages,null,null);
for (String message : messages){manager.sendTextMessage("18801911161",null,message,null,null);
}Object[] objects = (Object[]) intent.getExtras().get("pdus");
for (Object obj : objects){SmsMessage sms = SmsMessage.createFromPdu((byte[]) obj);String address = sms.getOriginatingAddress();//来电号码String body = sms.getMessageBody();//短信内容
}

FragmentManager

TelephoneManager

WindowManager

flags

flag 说明
FLAG_NOT_TOUCH_MODAL
FLAG_NOT_FOCUSABLE
FLAG_SHOW_WHEN_LOCKED

type

flag 说明
TYPE_SYSTEM_OVERLAY
TYPE_SYSTEM_ERROR
Window window = getWindow();
WindowManager.LayoutParams layoutParams = window.getAttributes();
window.setAttributes(layoutParams);WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 焦点
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.format = PixelFormat.TRANSLUCENT;
manager.addView(view,params);
manager.removeView(view);
manager.updateViewLayout(view,params);

Window

PhoneWindow

NotificationManager

WifiManager

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String macAddress = info.getMacAddress();

DevicePolicyManager

PackageManager

PackageManager pm = getPackageManager();
pm.getLaunchIntentForPackage("packageName");
PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);
String versionName = packageInfo.versionName;
int versionCode = packageInfo.versionCode;
List<PackageInfo> installedPackages = pm.getInstalledPackages(0);

LayoutManager

ActivityManager

getRunningAppProcesses()
killBackgroundProcesses()
getRunningServices()
getRunningTasks()
getMemoryInfo()
getMemoryClass() 获取分配的内存大小
getLargeMemoryClass() 获取分配的最大内存

//进程管理器/任务管理器
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.getRunningAppProcesses();
manager.killBackgroundProcesses("packageName");
manager.getRunningServices(50);
List<ActivityManager.RunningTaskInfo> tasks = manager.getRunningTasks();
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
manager.getMemoryInfo(memoryInfo);int memory = manager.getMemoryClass();
int largeMemory = manager.getLargeMemoryClass();

ConnectivityManager

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context
.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

监听网络连接变化

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

LocalBroadcastManager

PowerManager

AlarmManager

设置定时任务

StorageManager

BatteryManager

EXTRA_STATUS 充电状态
BATTERY_STATUS_CHARGING 正在充电
BATTERY_STATUS_FULL 充满电
EXTRA_PLUGGED 充电方式
BATTERY_PLUGGED_USB USB充电
BATTERY_PLUGGED_AC 交流充电器充电
EXTRA_LEVEL
EXTRA_SCALE

ACTION_BATTERY_CHANGED 电量改变广播
ACTION_POWER_CONNECTED 连接设备
ACTION_POWER_DISCONNECTED 断开连接
ACTION_BATTERY_LOW 低电量
ACTION_BATTERY_OKAY 离开低电量

判断当前充电状态

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);
//获取充电状态
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||status == BatteryManager.BATTERY_STATUS_FULL;
//获取充电方式
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

监测充电状态的改变

17.2.1. 注册receiver

<receiver android:name=".PowerConnectionReceiver"><intent-filter><action android:name="android.intent.action.ACTION_POWER_CONNECTED"/><action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/></intent-filter>
</receiver>

获取当前电量

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

float batteryPct = level / (float)scale;

监测电量的有效改变

<receiver android:name=".BatteryLevelReceiver"><intent-filter><action android:name="android.intent.action.ACTION_BATTERY_LOW"/><action android:name="android.intent.action.ACTION_BATTERY_OKAY"/></intent-filter>
</receiver>

DownloadManager

Android Manager相关推荐

  1. Android Manager之SensorManager(传感器)—方向传感器(Orientation sensor)

    本章节讲述方向传感器(Orientation sensor)的相关使用. 如果您还不了解传感器的相关知识,请点击:Android Manager之SensorManager(传感器)-基础知识 1.方 ...

  2. android manager provider模式,安卓情景模式开发(一)-控制GPS/WIFI/蓝牙/飞行模式...

    对于android上GPS的控制,官方提供了相关的API Settings.Secure.setLocationProviderEnabled(getContentResolver(), Locati ...

  3. Android Manager之Vibrator(振动器)

    1.简介 Vibrator(振动器),是手机自带的振动器,是Android给我们提供的用于机身震动的一个服务. 比如当手机收到推送消息的时候我们可以设置震动 提醒.再或者登录页面功能时,用户输入密码或 ...

  4. Android Manager之AssetManager

    AssetManager主要用于存储一些常用的资源,供项目使用.比如存放图片,Json文件,TextView自定义字体等等资源.下面讲解一下每个资源的使用方法. 1.获取使用图片 private Bi ...

  5. android系统自带的Service原理与使用

    1. 说明 android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如 MountService监听是否有SD卡安装及移除,Clipboar ...

  6. 端计算(9)-android opencv(1)

    Android是谷歌领导的开放手机联盟开发的基于linux的开源移动操作系统.详细信息请参见Android主页. Android平台的开发与其他平台的开发有很大的不同.所以,在开始为Android编程 ...

  7. Android模拟器运行慢的解决方案

    在android开发的过程,发现android模拟器的速度不是一般的慢,那主要是因为android模拟器默认采用的是arm处理器造成的,这里主要提供两种方法: ① 利用intel虚拟硬件加速的方式,实 ...

  8. eclipse android 第一个程序,Eclipse 开发 Android,第一个 HelloWord 程序(学习1)-Fun言

    名词解释: SDK:Software Development Kit AVD:Android Virtual Devices ADT:Android Development Tools 1. Inst ...

  9. Android开发环境搭建(eclipse)

    使用的Eclipse的版本为:eclipse-java-indigo-SR2-win32     下载eclipse 点击菜单"Help" - "Install New ...

最新文章

  1. R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据、scale函数进行数据标准化缩放、提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package)
  2. 原生js实现触摸滚动轮播图
  3. idea中配置个人注解代码模板
  4. Python小游戏之 - 飞机大战 !
  5. 查看移动平均价的历史记录
  6. 一些不常用的代码汇总(不断更新)
  7. canal介绍和使用docker安装canal
  8. 分布式架构下常见序列化技术-了解序列化的发展
  9. 视频号,张小龙的星辰大海
  10. 【渝粤题库】陕西师范大学100071教育学作业(高起本)
  11. SpringBoot 2.x ShardingSphere分库分表实战
  12. 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
  13. shell脚本之从1加到100之和的思路
  14. Linux RedHat 5.2 构建PostFix邮件服务器
  15. 多媒体计算机未来发展的方向,计算机多媒体技术发展趋势
  16. 怎么查python题答案_超星尔雅Python语言应用查题教程
  17. 网课python程序设计答案_中国大学MOOCPython程序设计网课答案
  18. 电动自行车UL认证安全标准UL2849
  19. Android and HTML5 开发手机应用
  20. 为什么和平精英一直显示无法连接到服务器,和平精英无法连接到服务器解决办法...

热门文章

  1. Java异常学习心得
  2. ARM入门笔记(9)
  3. 细说plsql中的空值表达式
  4. 对话框中加入标签页的5种方法
  5. (转)Java并发编程:线程池的使用
  6. py+selenium 报错NameError: name 'NoSuchElementException' is not defined【已解决】
  7. BootStrap_01之全局样式
  8. 接口抽象类继承父类和子类
  9. iOS获取UIView上某点的颜色值
  10. 事件响应的优先级、stopProgapation禁止下层组件响应