android許可權判斷
① Android怎麼判斷當前應用是否有root許可權
【Android】Android 代碼判斷是否獲取ROOT許可權
方法比較簡單,直接粘貼代悔差碼
public synchronized boolean getRootAhth()
{
Process process = null;
DataOutputStream os = null;
try
{
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes("exit\n");
os.flush();
int exitValue = process.waitFor();
if (exitValue == 0)
搜盯{
return true;
} else
{
return false;
}
} catch (Exception e)
{
Log.d("*** DEBUG ***", "Unexpected error - Here is what I know: "
+ e.getMessage());
return false;
} finally
{
try
{
if (os != null)
{
os.close();
}
process.destroy();
} catch (Exception e)
{
世前和e.printStackTrace();
}
}
}
② android 判斷是否有錄音許可權
一、簡介:android6.0引入了新的許可權機制,開發者可以使用checkSelfPermission()和requestPermissions()很輕松的檢測並獲取相態賀應的錄音許可權。
二、android判斷app是否具有錄音許可權,以某應用為例,把該應用的錄襲檔音許可權給禁止掉,然後開始錄音。
1、6.0系統上的界面
2、如帆禪派上,在6.0的環境下可以很簡單的判斷應用是否具有錄音許可權。
③ android 怎麼判斷是否獲取許可權
用下面方法
// 判斷機器Android是否已經root,即是否獲取root許可權
protected static boolean haveRoot() {
int i = execRootCmdSilent("echo test"); // 通過執行測試命令來檢測
if (i != -1) {
return true;
}
return false;
}
④ android開發如何判斷6.0以下是否有許可權
可以在運行的時候判斷有沒有許可權:
java">if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.CALL_PHONE)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,newString[]{Manifest.permission.CALL_PHONE},1);
}else{
call();
}
privatevoidcall(){
try{
Intentintent=newIntent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:10010"));
鍵橡startActivity(intent);
}catch(SecurityExceptione){
e.printStackTrace();
}
}
@Override
(intrequestCode,@NonNullString[]permissions,@NonNullint[]grantResults){
switch(requestCode){
case1:
if(grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
call();
稿哪旁}else{
緩帆Toast.makeText(MainActivity.this,"你沒有獲取到打電話許可權!!",Toast.LENGTH_SHORT).show();
}
break;
default:
}
}
⑤ android判斷應用是否有某個許可權
可以使用以下方法:
1、判斷應用是否具有某個許可權
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.RECORD_AUDIO", "packageName"));
if (permission) {
showToast("有這個許可權");
}else {
showToast("木有這個許可權");
}
2、獲取某個應用的許可權清單
PackageInfo pack = pm.getPackageInfo("packageName",PackageManager.GET_PERMISSIONS);
String[] permissionStrings = pack.requestedPermissions;
⑥ Android推送通知許可權判斷及跳轉到許可權設置界面(完善兼容8.0)
有時候產品要求增加一個推送通知的開關(有些還要求具體到哪些通知,比如廣告類? 比如重大熱點等?)。
我們首先想到的肯定就是再推送回調介面裡面判斷開啟的狀態,進而進行過濾!沒錯,如果對於關閉通知肯定沒問題。但是對於開啟通知有個問題?就是即使你開啟了這個狀態值,但是如果 系統關閉了該應用的通知許可權 ,那麼你開啟了其實也沒有用對吧?
所以正常的邏輯是:
1. 如果關閉,則不用判斷許可權,直接關閉就行
2. 如果開啟,首先判斷是否有通知許可權,如果有則走關閉邏輯就行;如果沒有,則把開關狀態重置回來,然後申請通知許可權 - 通知許可權開啟後再次開啟就沒有問題了
**a> **直接給判斷許可權的工具類:
b> 跳轉到通知設置的界面(自己做了下完善和測試)
啊哈!!目前就是醬紫,這個應該有官方的吧,我找找看...有相關類的說明,但是具體的案例沒有。不過有具體的一些個解釋:
比如: Settings | Android Developers
再比如判斷的方式:
意思就是說:當一個NotificationChannel 被阻塞時,這個getImportance()的值就是IMPORTANCE_NONE,其他情況則不是。所以8.0也就可以根據這個狀態來做判斷.8.0以下的話採用的是反射的方式 - 這個具體的大家可以研究一下。小白暫時不研究了,先做個記錄和簡單學習。
最後使用邏輯:Switch控制項(selector_thumb, selector_track就是slector,裡面就是一些個shape文件...)
剩下的你可以測測了喲...小寶貝...
⑦ android判斷應用是否有某個許可權
您好,很高興為您解答,可以使用如下方式來判斷
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.RECORD_AUDIO", "packageName"));
if (permission) {
showToast("有這個許可權");
}else {
showToast("木有這個許可權");
}
希望能幫到您,望採納!
⑧ Android帶許可權的操作,怎麼判斷是否被拒絕
Android帶許可權的操作,判斷是否被拒絕,可以使用AppOpsManager 這個類提供的方法來判斷,代碼段尺如下:塌歲
/*
* 檢查某項許可權是否被允許還是拒絕
*
* @param context
* @param op
* 許可權代碼
* @return 1為拒絕,0為允許
*/
@TargetApi(19)
private int checkOp(Context context, int op) {
final int version = Build.VERSION.SDK_INT;
if (version >= 19) {
try {
AppOpsManager appOpsManager = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
Method dispatchMethod = AppOpsManager.class.getMethod(
"checkOp"握衫高, new Class[] { int.class, int.class,
String.class });
int mode = (Integer) dispatchMethod.invoke(
appOpsManager,
new Object[] { op, Binder.getCallingUid(),
context.getPackageName() });
return mode;
} catch (Exception e) {
e.printStackTrace();
}
}
return -1;
}
⑨ Android判斷是否有拍照許可權
想要判斷是否擁有拍照許可權,你可以這樣做:
android在開發中有時候要判斷應用中是否有某項許可權,或者想獲取到某個應用的許可權清單,可以使用以下方法
1) 判斷應用是否具有某個許可權
PackageManagerpm=getPackageManager();
booleanpermission=(PackageManager.PERMISSION_GRANTED==
pm.checkPermission("android.permission.RECORD_AUDIO","packageName"));
if(permission){
showToast("有這個許可權");
}else{
showToast("木有這個許可權");
}
⑩ Android判斷當前應用是否有root許可權
/**
* 判斷當前手機是否有ROOT許可權
* @return
*/
public boolean isRoot(){
boolean bool = false;
try{
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){
bool = false;
} else {
bool = true;
}
Log.d(TAG, "bool = " + bool);
} catch (Exception e) {
}
return bool;
}
復制代碼
調用的代碼,大家好好看看吧
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//當前應用的代碼執行目錄
upgradeRootPermission(getPackageCodePath());
}
復制代碼
執行上述代碼後,系統會彈出對話框「是否允許獲取Root許可權」,此時選擇允許即可。