国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 應用適配 Android 7.0 權限要求詳解

2019-10-21 21:42:37
字體:
來源:轉載
供稿:網友

對于 Android 6.0 以下 , 對于 Android 應用的權限要求是在安裝應用的時候默認直接獲取;但是對于 Android 6.0 以及以上,對于應用權限的獲取具有更高的要求。應用只有獲取到了相關權限才可以正常運行,相反如果用戶沒有賦予相關權限則應用直接退出甚至崩潰,無法進行正常的運行。

具體可以參考下列獲取手機定位,手機讀寫存儲和手機狀態權限的事例代碼:

public class AppMainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  //在App中需要請求權限才能執行用戶的操作  getPermissionToReadUserContacts(); } //定義請求 private static final int READ_CONTACTS_REQUEST = 1; //當用戶執行的操作需要權限時候進行詢問 public void getPermissionToReadUserContacts() {  /**   * 1)使用ContextCompat.chefkSelfPermission(),因為Context.permission   * 只在棒棒糖系統中使用   * 2)總是檢查權限(即使權限被授予)因為用戶可能會在設置中移除你的權限*/  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) {   //權限為獲取,檢查用戶是否被詢問過并且拒絕了,如果是這樣的話,給予更多   //解釋   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)) {    //在界面上展示為什么需要讀取聯系人    Toast.makeText(this, "需要定位位置權限,手機電話權限和存儲權限才可以正常工作", Toast.LENGTH_SHORT).show();   }   //發起請求獲得用戶許可,可以在此請求多個權限   ActivityCompat.requestPermissions(this, new String[]{       Manifest.permission.ACCESS_FINE_LOCATION,       Manifest.permission.READ_EXTERNAL_STORAGE,       Manifest.permission.READ_PHONE_STATE},     READ_CONTACTS_REQUEST);  } } //從requestPermissions()方法回調結果 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {  //確保是我們的請求  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("應用權限獲取成功");   } else {    System.out.println("應用權限獲取失敗");   }  } else {   super.onRequestPermissionsResult(requestCode, permissions, grantResults);  } }}

以上這篇Android 應用適配 Android 7.0 權限要求詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长子县| 桐乡市| 白朗县| 双峰县| 揭阳市| 临潭县| 银川市| 崇左市| 通州市| 巴青县| 达孜县| 长宁县| 城市| 邹平县| 瓮安县| 安康市| 新源县| 汤原县| 江油市| 师宗县| 积石山| 五莲县| 高唐县| 衡东县| 安乡县| 涟源市| 东乌珠穆沁旗| 平舆县| 临城县| 洪江市| 霍山县| 江孜县| 闻喜县| 平邑县| 含山县| 阿尔山市| 民乐县| 沅陵县| 曲周县| 禄丰县| 巍山|