国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android權(quán)限申請(qǐng)之動(dòng)態(tài)申請(qǐng)權(quán)限

這篇具有很好參考價(jià)值的文章主要介紹了Android權(quán)限申請(qǐng)之動(dòng)態(tài)申請(qǐng)權(quán)限。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

先上圖:

Android權(quán)限申請(qǐng)之動(dòng)態(tài)申請(qǐng)權(quán)限

對(duì)于一些危險(xiǎn)權(quán)限在AndroidManifest清單文件中申請(qǐng)之后,還需要得到用戶的許可并打開,才算是真正的開啟了這個(gè)權(quán)限。所以可以使用動(dòng)態(tài)申請(qǐng)權(quán)限,對(duì)于某個(gè)功能,如果需要開啟某個(gè)權(quán)限,在用戶使用它之前,彈窗提示用戶是否要開啟這個(gè)權(quán)限。

動(dòng)態(tài)申請(qǐng)權(quán)限大致可以分為四步:

下面以申請(qǐng)寫入外存權(quán)限為例。

  1. 在AndroidManifest清單文件中聲明要開啟的權(quán)限。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    
  2. 檢查權(quán)限是否開啟,如果開啟了則不需要再執(zhí)行下面的步驟,直接使用功能即可。如果沒有開啟,那么就申請(qǐng)開啟權(quán)限。

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
        != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
    }
    
  3. 接受申請(qǐng)開啟權(quán)限的結(jié)果。

    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == REQUEST_CODE) {
            if (grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(this, "權(quán)限開啟成功", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "權(quán)限開啟失敗", Toast.LENGTH_LONG).show();
            }
        }
    }
    

完整Java代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-513839.html

public class MainActivity extends AppCompatActivity {

    final int REQUEST_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
        }

    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == REQUEST_CODE) {
            if (grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(this, "權(quán)限開啟成功", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "權(quán)限開啟失敗", Toast.LENGTH_LONG).show();
            }
        }
    }
}


到了這里,關(guān)于Android權(quán)限申請(qǐng)之動(dòng)態(tài)申請(qǐng)權(quán)限的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • android studio開發(fā)——android11版本以上權(quán)限動(dòng)態(tài)申請(qǐng)問題,包括文件讀寫、圖片、相機(jī)的調(diào)用

    用于android手機(jī)的升級(jí),現(xiàn)在已經(jīng)是android13版本了,對(duì)于權(quán)限問題可能更加敏感了,前段時(shí)間開發(fā)發(fā)現(xiàn)之前的方法已經(jīng)不再適用于android11以后的版本了 讀寫權(quán)限申請(qǐng)最好是跳轉(zhuǎn)到設(shè)置中進(jìn)行才是最好了,下面我們開始進(jìn)行 首先是AndroidManifest.xml文件的權(quán)限 然后這里講解一下權(quán)

    2024年02月10日
    瀏覽(21)
  • Android申請(qǐng)權(quán)限(相機(jī)權(quán)限和讀寫權(quán)限)

    Android申請(qǐng)權(quán)限(相機(jī)權(quán)限和讀寫權(quán)限)

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

    2024年02月11日
    瀏覽(27)
  • Flutter層對(duì)于Android 13存儲(chǔ)權(quán)限的適配問題

    感覺很久沒有寫博客了,不對(duì),的確是很久沒有寫博客了。原因我不怎么想說,玩物喪志了。后面漸漸要恢復(fù)之前的寫作節(jié)奏。今天來聊聊我最近遇到的一個(gè)問題: Android 13版本對(duì)于storage權(quán)限的控制問題。 我們都知道,Android的每個(gè)版本更新都會(huì)伴隨著搞事,也就是所謂的谷

    2024年02月07日
    瀏覽(24)
  • Android 開發(fā)中的權(quán)限申請(qǐng)

    ??????? 我們都知道,從 Android 6.0 開始,部分危險(xiǎn)權(quán)限在 xml 注冊(cè)的同時(shí),還需要?jiǎng)討B(tài)申請(qǐng)。 1、需要?jiǎng)討B(tài)申請(qǐng)的權(quán)限 ????????需要?jiǎng)討B(tài)申請(qǐng)的權(quán)限主要分為這 9 類,當(dāng)然每類中可能不止一個(gè)權(quán)限,但只要?jiǎng)討B(tài)申請(qǐng)一個(gè)就默認(rèn)獲取整個(gè)類別的權(quán)限。 2、申請(qǐng)單個(gè)權(quán)限 ??

    2024年02月09日
    瀏覽(27)
  • android11 申請(qǐng)所有文件訪問權(quán)限

    android11 申請(qǐng)所有文件訪問權(quán)限

    Android 11 引入了強(qiáng)制執(zhí)行分區(qū)存儲(chǔ)的限制,導(dǎo)致應(yīng)用默認(rèn)不能訪問外部文件。 針對(duì)以前涉及較多文件的操作,可采用申請(qǐng)所有文件訪問權(quán)限的方式來解決這一問題,實(shí)現(xiàn)方式如下。 (雖然這樣做安全性低,官方并不推薦這樣,但確實(shí)最快適配原有應(yīng)用程序的方式) 1. Android

    2024年02月04日
    瀏覽(28)
  • Android 獲取SIM卡號(hào)碼權(quán)限申請(qǐng)

    在AndroidManifest.xml中添加如下權(quán)限 uses-permission android:name=\\\"android.permission.READ_PHONE_STATE\\\"/ 如果你只在清單文件中添加權(quán)限卻沒有在代碼中獲取權(quán)限,代碼還是會(huì)報(bào)錯(cuò)的。 報(bào)錯(cuò)原因: android 6.0以上增加了動(dòng)態(tài)獲取權(quán)限api,需要?jiǎng)討B(tài)獲取手機(jī)的權(quán)限。彈出對(duì)話框詢問用戶,請(qǐng)求用戶

    2024年02月08日
    瀏覽(21)
  • android 11后文件讀寫訪問權(quán)限申請(qǐng)

    android 11后對(duì)文件讀寫訪問權(quán)限管理 與 android 10又有了新的要求,導(dǎo)致在讀寫或者訪問時(shí)出現(xiàn)error:java.io.FileNotFoundException: /storage/emulated/0/file_path open failed: EACCES (Permission denied),以下為android 11文件管理權(quán)限申請(qǐng)辦法 回憶android 10 文件訪問權(quán)限申請(qǐng) step 1: AndroidManifest中添加權(quán)限申

    2024年02月05日
    瀏覽(21)
  • Android11及以上 文件讀寫權(quán)限申請(qǐng)

    Android11及以上 文件讀寫權(quán)限申請(qǐng)

    Android11 讀寫權(quán)限申請(qǐng) Android11系統(tǒng)對(duì)應(yīng)用寫入權(quán)限做了嚴(yán)格的限制。本文介紹如何獲取文件讀寫權(quán)限。項(xiàng)目中 build.gradle 的 targetSdkVersion = 29 ,會(huì)出現(xiàn)讀寫問題。 當(dāng) targetSdkVersion = 29,通過設(shè)置requestLegacyExternalStorage=“true”,還能解決。 當(dāng) targetSdkVersion = 30后,需要申請(qǐng)所有文件

    2023年04月10日
    瀏覽(32)
  • Unity 在Unity端申請(qǐng)Android權(quán)限

    Unity 在Unity端申請(qǐng)Android權(quán)限

    前段時(shí)間還在職的時(shí)候,遇到這么一個(gè)問題:SDK首次調(diào)起相機(jī)接口進(jìn)行拍照的時(shí)候,會(huì)調(diào)起2次相機(jī)。并在第2次拍照后閃退。 分析了一下,都是發(fā)生在首次獲取權(quán)限時(shí)才會(huì)發(fā)生,拿到權(quán)限就不會(huì)了。并且2臺(tái)會(huì)發(fā)生這種情況的Android版本都是13。猜測(cè)是SDK獲取權(quán)限接口沒有適配好

    2024年02月15日
    瀏覽(18)
  • Android Permission 權(quán)限申請(qǐng),EasyPermission和其他三方庫

    在Android的實(shí)際開發(fā)中,經(jīng)常會(huì)因?yàn)樾枨蟮膶?shí)現(xiàn),需要申請(qǐng)用戶權(quán)限。 今天總結(jié)下Android中常用的權(quán)限申請(qǐng)。 一、基本介紹和流程 Android中的權(quán)限申請(qǐng)是通過應(yīng)用程序與操作系統(tǒng)之間的交互實(shí)現(xiàn)的。在Android中,每個(gè)應(yīng)用程序都被賦予了一組預(yù)定義的權(quán)限,這些權(quán)限定義了應(yīng)用程

    2024年02月13日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包