Android Manager
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相关推荐
- Android Manager之SensorManager(传感器)—方向传感器(Orientation sensor)
本章节讲述方向传感器(Orientation sensor)的相关使用. 如果您还不了解传感器的相关知识,请点击:Android Manager之SensorManager(传感器)-基础知识 1.方 ...
- android manager provider模式,安卓情景模式开发(一)-控制GPS/WIFI/蓝牙/飞行模式...
对于android上GPS的控制,官方提供了相关的API Settings.Secure.setLocationProviderEnabled(getContentResolver(), Locati ...
- Android Manager之Vibrator(振动器)
1.简介 Vibrator(振动器),是手机自带的振动器,是Android给我们提供的用于机身震动的一个服务. 比如当手机收到推送消息的时候我们可以设置震动 提醒.再或者登录页面功能时,用户输入密码或 ...
- Android Manager之AssetManager
AssetManager主要用于存储一些常用的资源,供项目使用.比如存放图片,Json文件,TextView自定义字体等等资源.下面讲解一下每个资源的使用方法. 1.获取使用图片 private Bi ...
- android系统自带的Service原理与使用
1. 说明 android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如 MountService监听是否有SD卡安装及移除,Clipboar ...
- 端计算(9)-android opencv(1)
Android是谷歌领导的开放手机联盟开发的基于linux的开源移动操作系统.详细信息请参见Android主页. Android平台的开发与其他平台的开发有很大的不同.所以,在开始为Android编程 ...
- Android模拟器运行慢的解决方案
在android开发的过程,发现android模拟器的速度不是一般的慢,那主要是因为android模拟器默认采用的是arm处理器造成的,这里主要提供两种方法: ① 利用intel虚拟硬件加速的方式,实 ...
- eclipse android 第一个程序,Eclipse 开发 Android,第一个 HelloWord 程序(学习1)-Fun言
名词解释: SDK:Software Development Kit AVD:Android Virtual Devices ADT:Android Development Tools 1. Inst ...
- Android开发环境搭建(eclipse)
使用的Eclipse的版本为:eclipse-java-indigo-SR2-win32 下载eclipse 点击菜单"Help" - "Install New ...
最新文章
- R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据、scale函数进行数据标准化缩放、提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package)
- 原生js实现触摸滚动轮播图
- idea中配置个人注解代码模板
- Python小游戏之 - 飞机大战 !
- 查看移动平均价的历史记录
- 一些不常用的代码汇总(不断更新)
- canal介绍和使用docker安装canal
- 分布式架构下常见序列化技术-了解序列化的发展
- 视频号,张小龙的星辰大海
- 【渝粤题库】陕西师范大学100071教育学作业(高起本)
- SpringBoot 2.x ShardingSphere分库分表实战
- 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
- shell脚本之从1加到100之和的思路
- Linux RedHat 5.2 构建PostFix邮件服务器
- 多媒体计算机未来发展的方向,计算机多媒体技术发展趋势
- 怎么查python题答案_超星尔雅Python语言应用查题教程
- 网课python程序设计答案_中国大学MOOCPython程序设计网课答案
- 电动自行车UL认证安全标准UL2849
- Android and HTML5 开发手机应用
- 为什么和平精英一直显示无法连接到服务器,和平精英无法连接到服务器解决办法...