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. php url模式在哪修改,如何在nginx环境中启用php的pathinfo URL模式[修正]
  2. OC从plist文件中获取数据
  3. 搜索引擎的两大问题(1) - 召回
  4. 关于ORM中只有XML没有映射实体的分析
  5. 使用python来访问Hadoop HDFS存储实现文件的操作
  6. Chrome和Firefox中安装Hackbar插件
  7. VSCode 报错 Parsing error: x-invalid-end-tag
  8. LiveVideoStackCon2019北京 八月再聚
  9. 【Marva Collins' Way】第三章
  10. css中设置background属性
  11. 彻底搞清楚library cache lock的成因和解决方法(转)
  12. java poi生成word 并插入 表格
  13. WINVER 和 _WIN32_WINNT
  14. MFC ---- CString
  15. 基础练习 回形取数 C语言 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。
  16. EndNote软件使用
  17. android仿腾讯文件管理器,全能文件管理器 – 腾讯文件管理APP
  18. 第44章 通过GoogleAuthenticator插件执行登录操作
  19. android树状结构导航图
  20. linux下通过fdisk和mkfs.ext4给TF卡建立分区

热门文章

  1. apache 下实现防盗链
  2. 微信小程序wx.request内调用setData方法
  3. 来自iSpy整理的最全海康大华IPC的RTSP连接地址
  4. 【学习】Java的反射机制
  5. 一条SQL语句实现二进制到十进制的转换
  6. MATLAB找不到遗传算法工具箱,用不了gatool命令的解决方案
  7. 判断点是否在一个任意多边形中
  8. HDU5007 Post Robot
  9. bitmapdata转成bytearray
  10. linux下的cat命令