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_NOT_TOUCH_MODAL | |
| FLAG_NOT_FOCUSABLE | |
| FLAG_SHOW_WHEN_LOCKED |
type
| TYPE_SYSTEM_OVERLAY | |
| TYPE_SYSTEM_ERROR |
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() 獲取分配的最大內存
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础:正则表达式
- 下一篇: Java基础:网络编程