android許可權申請 單個許可權

2021-10-06 23:49:03 字數 2968 閱讀 1389

注意:呼叫許可權的位置一定要放在使用許可權的功能之前。比如首頁需要定位許可權,你需要在啟動頁或者開始定位之前的位置,進行許可權配置。

當使用者勾選不再提示並且拒絕的時候呼叫的方法,則引導使用者去設定

package com.ycz.at_cdm_station;

import android.manifest;

import android.annotation.suppresslint;

import android.content.dialoginte***ce;

import android.content.intent;

import android.content.pm.packagemanager;

import android.net.uri;

import android.provider.settings;

import android.util.log;

import android.view.window;

import android.view.windowmanager;

import android.widget.textview;

import android.widget.toast;

import androidx.annotation.nonnull;

import com.alibaba.android.arouter.facade.annotation.route;

import com.lljjcoder.style.citylist.toast.toastutils;

import com.transformers.common.mvp.baseactivity;

import com.transformers.common.provider.imainprovider;

import com.transformers.common.util.systemutil;

import com.transformers.common.util.toastutil;

import com.transformers.common.util.log.klogutil;

import com.transformers.main.mainactivity;

import permissions.dispatcher.needspermission;

import permissions.dispatcher.onneveraskagain;

import permissions.dispatcher.onpermissiondenied;

import permissions.dispatcher.onshowrationale;

import permissions.dispatcher.permissionrequest;

import permissions.dispatcher.runtimepermissions;

/** * author: jiaxufei([email protected])

* version: 1.0.0

* since: 2020-03-27 16:54

* * * 內容描述區域

* */

@runtimepermissions

public class splashactivity extends baseactivity

@override

public void initview() else

});//全屏

window window = getwindow();

window.setflags(windowmanager.layoutparams.flag_fullscreen, windowmanager.layoutparams.flag_fullscreen);

startmainactivity();

}@override

public boolean enable*******()

@override

public void initdata()

public void startmainactivity()

/*** 2,撥打**需要call_phone許可權,在對應的方法是標明

*/@needspermission(manifest.permission.call_phone)

void callphone()

/*** ,3,對需要該許可權的解釋

*/@onshowrationale(manifest.permission.call_phone)

void showwhy(final permissionrequest request)

}).setnegativebutton("取消", new dialoginte***ce.onclicklistener()

}).show();

}/**

* ,4,當使用者拒絕獲取許可權的提示

*/@onpermissiondenied(manifest.permission.call_phone)

void showdenied()

/*** ,5,當使用者勾選不再提示並且拒絕的時候呼叫的方法

*/@onneveraskagain(manifest.permission.call_phone)

void showneveraskagain()

}).setnegativebutton("取消", new dialoginte***ce.onclicklistener()

}).show();

}@override

public void onrequestpermissionsresult(int requestcode, @nonnull string permissions, @nonnull int grantresults)

}

Android 動態許可權申請

1.android6.0以下系統,只要在mainfest中註冊了,則自動授權,不會彈出許可權詢問的對話方塊。2.android6.0系統,同一組許可權中如果有乙個許可權動態授權,則改組的所有的許可權自動授權 需要先在mainfest中註冊 3.android 8.0系統。在 android 8.0 ...

android 動態申請許可權

private string permissions newstring 檢查是否有相應的許可權 checkdevicepermission permissions,newpermissionlistener override public void permissionfail private f...

舉例 Android動態申請許可權

舉例 android自定義dialog 做出 確定 取消 的選擇 還是一貫的風格,直接上 android name android.permission.camera android name android.permission.change network state android name ...