Android APP啟動頁面動態載入全部許可權

來源:互聯網
上載者:User

標籤:dep   mat   github   ant   send   hone   說明   代碼   手動   

一、寫在前面

6.0以上動態載入許可權載入的是,需要使用者手動賦予的許可權( Dangerous Permissions),只有這些,其他許可權不用載入

所屬許可權組 許可權
日曆READ_CALENDAR
日曆WRITE_CALENDAR
相機CAMERA
連絡人READ_CONTACTS
連絡人WRITE_CONTACTS
連絡人GET_ACCOUNTS
位置ACCESS_FINE_LOCATION
位置ACCESS_COARSE_LOCATION
麥克風RECORD_AUDIO
電話READ_PHONE_STATE
電話CALL_PHONE
電話READ_CALL_LOG
電話WRITE_CALL_LOG
電話ADD_VOICEMAIL
電話USE_SIP
電話PROCESS_OUTGOING_CALLS
感應器BODY_SENSORS
簡訊SEND_SMS
簡訊RECEIVE_SMS
簡訊READ_SMS
簡訊RECEIVE_WAP_PUSH
簡訊RECEIVE_MMS
儲存READ_EXTERNAL_STORAGE
儲存WRITE_EXTERNAL_STORAGE

二、使用的架構RxPermissions2

build.gradle檔案中
在dependencies {}中添加依賴
compile ‘io.reactivex.rxjava2:rxandroid:2.0.1‘
compile ‘io.reactivex.rxjava2:rxjava:2.0.1‘
compile ‘com.tbruyelle.rxpermissions2:rxpermissions:[email protected]‘

三、關鍵代碼
 1 /** 2  * 許可權列表 3  */ 4 String[] permissions = new String[]{ 5         Manifest.permission.CAMERA, 6         Manifest.permission.READ_PHONE_STATE, 7         Manifest.permission.WRITE_EXTERNAL_STORAGE, 8         Manifest.permission.READ_EXTERNAL_STORAGE 9 };10 11 /**12  * 請求許可權13  */14 private void requestPermissions() {15     RxPermissions rxPermission = new RxPermissions(this);16     rxPermission17             .request(permissions)//多個許可權用","隔開18             .subscribe(granted -> {19                 if (granted) {20                     //獲得了所有許可權21                    textView.setAnimation(animationSet);22                 } else {23                     //至少有一個許可權沒有獲得24                     Toast.makeText(SplashActivity.this,"請給應用賦予全部許可權,否則無法使用",Toast.LENGTH_SHORT).show();25                     finish();26                 }27             });28 29 }

四、該架構升級比較快,網上很多寫這個架構的博文都並不實用,還是要注意其github網站說明文檔

地址:https://github.com/tbruyelle/RxPermissions

Android APP啟動頁面動態載入全部許可權

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.