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权限”,此时选择允许即可。