最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 應(yīng)用適配 Android 7.0 權(quán)限要求詳解

 更新時(shí)間:2018年08月06日 09:25:26   作者:小笨笨天  
今天小編就為大家分享一篇Android 應(yīng)用適配 Android 7.0 權(quán)限要求詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

對(duì)于 Android 6.0 以下 , 對(duì)于 Android 應(yīng)用的權(quán)限要求是在安裝應(yīng)用的時(shí)候默認(rèn)直接獲??;但是對(duì)于 Android 6.0 以及以上,對(duì)于應(yīng)用權(quán)限的獲取具有更高的要求。應(yīng)用只有獲取到了相關(guān)權(quán)限才可以正常運(yùn)行,相反如果用戶(hù)沒(méi)有賦予相關(guān)權(quán)限則應(yīng)用直接退出甚至崩潰,無(wú)法進(jìn)行正常的運(yùn)行。

具體可以參考下列獲取手機(jī)定位,手機(jī)讀寫(xiě)存儲(chǔ)和手機(jī)狀態(tài)權(quán)限的事例代碼:

public class AppMainActivity extends AppCompatActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  //在App中需要請(qǐng)求權(quán)限才能執(zhí)行用戶(hù)的操作
  getPermissionToReadUserContacts();
 }
 //定義請(qǐng)求
 private static final int READ_CONTACTS_REQUEST = 1;
 //當(dāng)用戶(hù)執(zhí)行的操作需要權(quán)限時(shí)候進(jìn)行詢(xún)問(wèn)
 public void getPermissionToReadUserContacts() {
  /**
   * 1)使用ContextCompat.chefkSelfPermission(),因?yàn)镃ontext.permission
   * 只在棒棒糖系統(tǒng)中使用
   * 2)總是檢查權(quán)限(即使權(quán)限被授予)因?yàn)橛脩?hù)可能會(huì)在設(shè)置中移除你的權(quán)限*/
  if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
    != PackageManager.PERMISSION_GRANTED ||
    ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
      != PackageManager.PERMISSION_GRANTED ||
    ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
      != PackageManager.PERMISSION_GRANTED) {

   //權(quán)限為獲取,檢查用戶(hù)是否被詢(xún)問(wèn)過(guò)并且拒絕了,如果是這樣的話(huà),給予更多
   //解釋
   if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION) ||
     ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE) ||
     ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_PHONE_STATE)) {
    //在界面上展示為什么需要讀取聯(lián)系人
    Toast.makeText(this, "需要定位位置權(quán)限,手機(jī)電話(huà)權(quán)限和存儲(chǔ)權(quán)限才可以正常工作", Toast.LENGTH_SHORT).show();
   }
   //發(fā)起請(qǐng)求獲得用戶(hù)許可,可以在此請(qǐng)求多個(gè)權(quán)限
   ActivityCompat.requestPermissions(this, new String[]{
       Manifest.permission.ACCESS_FINE_LOCATION,
       Manifest.permission.READ_EXTERNAL_STORAGE,
       Manifest.permission.READ_PHONE_STATE},
     READ_CONTACTS_REQUEST);
  }
 }
 //從requestPermissions()方法回調(diào)結(jié)果
 @Override
 public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  //確保是我們的請(qǐng)求
  if (requestCode == READ_CONTACTS_REQUEST) {
   if (grantResults.length == 3 && grantResults[0] == PackageManager.PERMISSION_GRANTED
     && grantResults[1] == PackageManager.PERMISSION_GRANTED
       && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
    System.out.println("應(yīng)用權(quán)限獲取成功");
   } else {
    System.out.println("應(yīng)用權(quán)限獲取失敗");
   }
  } else {
   super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  }
 }
}

以上這篇Android 應(yīng)用適配 Android 7.0 權(quán)限要求詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

咸宁市| 和田县| 盐亭县| 乐至县| 元朗区| 辛集市| 云梦县| 民权县| 高清| 张掖市| 泰和县| 峨山| 儋州市| 保定市| 隆德县| 兖州市| 汤阴县| 荣昌县| 札达县| 肃南| 宿州市| 来宾市| 阿荣旗| 高邮市| 石门县| 大冶市| 贵州省| 和田市| 萨迦县| 昭通市| 壶关县| 江城| 乌拉特前旗| 亳州市| 全州县| 米林县| 岳阳县| 潢川县| 厦门市| 滦南县| 日喀则市|