Android6.0特性

Android6.0新特性

本博客爲某在線教學網站課程筆記

電源管理

● App Standby(應用待機)

檢測:當設備不充電時,且在這時間用戶沒有直接或者間接的啓動該應用。

退出:應用被激活時,或者設備充電時,系統將應用移除此狀態。

所以在android6.0後臺的應用很容易被回收

● Doze(狀態)

檢測:當設備不充電時,且當設備靜止且滅屏一段時間。

週期:平臺嘗試讓系統處於休眠狀態,週期性的進入在一個維持窗口回覆正常工作,然後進入一個更長狀態的。

希望應用之間的聯繫,弱化與APP與瀏覽器的交互,強化APP之間的連接。

簡單地說沒就是,A APP提供一個跳轉的規則,B APP按照這個規則跳轉到A App,如果用戶沒有安裝APP那麼就會提供一個下載安裝地址,這大大提高的用戶體驗。

比如我們在微博中看到微信的推廣廣告,我們點擊廣告,如果此時用戶安裝了微信則直接跳轉到微信,如果沒有安裝則提供一個安裝鏈接。

指紋識別

6.0之前,各大手機廠商自己定製指紋識別API。

6.0開始提供相應的API

應用權限管理

運行時權限,就是當使用到某個權限時會彈出提示框詢問用戶時候授予權限。

查看危險性權限

adb shell pm list permissions -d -g

封裝Android6.0 Permission

在BaseActivity中添加

/**
* 爲子類提供一個權限檢查方法
 * @param permissions
* @return
*/
public boolean hasPermission(String... permissions){
for (String permission:permissions){
    if (ContextCompat.checkSelfPermission(this,permission)!=
            PackageManager.PERMISSION_GRANTED){
        return false;
    }
}
return true;
}

/**
 * 爲子類提供權限請求方法
 * @param code
 * @param permissions
 */
public void requestPermission(int code,String... permissions) {
    ActivityCompat.requestPermissions(this, permissions, code);
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode){
    case 100:
        doSdcardPermission();
        break;
  }

}

/**
 * 默認的寫SD權限處理
 */
private void doSdcardPermission() {
}

在繼承BaseActivity的Activity中需要請求SD權限的地方寫

if (hasPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)){
    //do
}else {
    requestPermission(100,Manifest.permission.WRITE_EXTERNAL_STORAGE);
}

並且重寫baseActivity中處理權限結果的方法
@override
private void doSdcardPermission() {
//實現
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章