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