Android申請相機權(quán)限和讀寫權(quán)限實例
開發(fā)一個相機應(yīng)用,需要申請三個權(quán)限:相機、讀文件、寫文件。
1、在AndroidManifest.xml中添加
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2、新建一個Permission類
public class Permission { public static final int REQUEST_CODE = 5; //定義三個權(quán)限 private static final String[] permission = new String[]{ Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, }; //每個權(quán)限是否已授 public static boolean isPermissionGranted(Activity activity){ if(Build.VERSION.SDK_INT >= 23){ for(int i = 0; i < permission.length;i++) { int checkPermission = ContextCompat.checkSelfPermission(activity,permission[i]); /*** * checkPermission返回兩個值 * 有權(quán)限: PackageManager.PERMISSION_GRANTED * 無權(quán)限: PackageManager.PERMISSION_DENIED */ if(checkPermission != PackageManager.PERMISSION_GRANTED){ return false; } } return true; }else{ return true; } } public static boolean checkPermission(Activity activity){ if(isPermissionGranted(activity)) { return true; } else { //如果沒有設(shè)置過權(quán)限許可,則彈出系統(tǒng)的授權(quán)窗口 ActivityCompat.requestPermissions(activity,permission,REQUEST_CODE); return false; } } }
3、在MainActivity中加入授權(quán)操作
@Override protected void onStart() { super.onStart(); Permission.checkPermission(this); } @Override protected void onResume() { super.onResume(); if(Permission.isPermissionGranted(this)) { Log.i("PERMISSION","請求權(quán)限成功"); } }
初步授權(quán)成功
4、在MainActivity中處理授權(quán)失敗結(jié)果,拒絕授權(quán)則退出應(yīng)用
@Override public void onRequestPermissionsResult( int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == Permission.REQUEST_CODE) { for (int grantResult : grantResults) { if (grantResult != PackageManager.PERMISSION_GRANTED) { Log.e("Permission","授權(quán)失敗!"); // 授權(quán)失敗,退出應(yīng)用 this.finish(); return; } } } }
效果圖
到此這篇關(guān)于Android申請相機權(quán)限和讀寫權(quán)限實例的文章就介紹到這了,更多相關(guān)Android申請相機權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python RobotFramework的安裝過程及應(yīng)用實戰(zhàn)教程
這篇文章主要介紹了RobotFramework的安裝過程及應(yīng)用實戰(zhàn)教程,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08Python入門教程2. 字符串基本操作【運算、格式化輸出、常用函數(shù)】
這篇文章主要介紹了Python字符串基本操作,結(jié)合實例形式總結(jié)分析了Python字符串的基本表示、運算、格式化輸出、常用函數(shù)等,注釋包含較為詳盡的說明,便于理解,需要的朋友可以參考下2018-10-10