亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android申請(qǐng)相機(jī)權(quán)限和讀寫(xiě)權(quán)限實(shí)例

 更新時(shí)間:2022年02月11日 15:50:59   作者:井井帆  
大家好,本篇文章主要講的是Android申請(qǐng)相機(jī)權(quán)限和讀寫(xiě)權(quán)限實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

開(kāi)發(fā)一個(gè)相機(jī)應(yīng)用,需要申請(qǐng)三個(gè)權(quán)限:相機(jī)、讀文件、寫(xiě)文件。

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、新建一個(gè)Permission類

public class Permission {
    public static final int REQUEST_CODE = 5;
    //定義三個(gè)權(quán)限
    private static final String[] permission = new String[]{
            Manifest.permission.CAMERA,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
    };
    //每個(gè)權(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返回兩個(gè)值
                 * 有權(quán)限: PackageManager.PERMISSION_GRANTED
                 * 無(wú)權(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 {
            //如果沒(méi)有設(shè)置過(guò)權(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","請(qǐng)求權(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;
                }
            }
        }
    }

效果圖

1.jpg

2.jpg

到此這篇關(guān)于Android申請(qǐng)相機(jī)權(quán)限和讀寫(xiě)權(quán)限實(shí)例的文章就介紹到這了,更多相關(guān)Android申請(qǐng)相機(jī)權(quán)限內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • numpy數(shù)組的維度、軸及運(yùn)用詳解

    numpy數(shù)組的維度、軸及運(yùn)用詳解

    這篇文章主要介紹了numpy數(shù)組的維度、軸詳解,numpy數(shù)組的某個(gè)軸,指的是:該數(shù)組的某個(gè)維度的方向,其方向從索引號(hào)由底到高,許多numpy方法或函數(shù)在調(diào)用時(shí),常常需要指定一個(gè)關(guān)鍵參數(shù)“axis=X”,它表示的是沿哪個(gè)軸的方向進(jìn)行運(yùn)算,需要的朋友可以參考下
    2023-09-09
  • python實(shí)現(xiàn)Flappy Bird源碼

    python實(shí)現(xiàn)Flappy Bird源碼

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Flappy Bird源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python RobotFramework的安裝過(guò)程及應(yīng)用實(shí)戰(zhàn)教程

    Python RobotFramework的安裝過(guò)程及應(yīng)用實(shí)戰(zhàn)教程

    這篇文章主要介紹了RobotFramework的安裝過(guò)程及應(yīng)用實(shí)戰(zhàn)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • python3 線性回歸驗(yàn)證方法

    python3 線性回歸驗(yàn)證方法

    今天小編就為大家分享一篇python3 線性回歸驗(yàn)證方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python入門(mén)教程2. 字符串基本操作【運(yùn)算、格式化輸出、常用函數(shù)】

    Python入門(mén)教程2. 字符串基本操作【運(yùn)算、格式化輸出、常用函數(shù)】

    這篇文章主要介紹了Python字符串基本操作,結(jié)合實(shí)例形式總結(jié)分析了Python字符串的基本表示、運(yùn)算、格式化輸出、常用函數(shù)等,注釋包含較為詳盡的說(shuō)明,便于理解,需要的朋友可以參考下
    2018-10-10
  • Python向excel中寫(xiě)入數(shù)據(jù)的方法

    Python向excel中寫(xiě)入數(shù)據(jù)的方法

    這篇文章主要介紹了Python向excel中寫(xiě)入數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 在Python 不同級(jí)目錄之間模塊的調(diào)用方法

    在Python 不同級(jí)目錄之間模塊的調(diào)用方法

    今天小編就為大家分享一篇在Python 不同級(jí)目錄之間模塊的調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

    釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

    今天小編就為大家分享一篇釘釘群自定義機(jī)器人消息Python封裝的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • PyQt5每天必學(xué)之進(jìn)度條效果

    PyQt5每天必學(xué)之進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Pytorch實(shí)驗(yàn)常用代碼段匯總

    Pytorch實(shí)驗(yàn)常用代碼段匯總

    這篇文章主要介紹了Pytorch實(shí)驗(yàn)常用代碼段匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論