您好,我正面临着一些问题,有些设备不能显示运行时权限,那会是什么问题? 我现在面临的一些设备和应用程序crashes.but当我去设置和允许的权限,那么它是好的在某些设备上没有显示运行时权限对话框有棉花糖
0
A
回答
0
最佳实践来处理运行时的权限是通过RxPermission。
与RxPermission尝试将解决您发出
+0
on nexus 5它工作正常,还有更多。但我的clinet有三星s7有6.0 – Usman
0
String[] permissions = new String[]{
Manifest.permission.WRITE_SETTINGS,
Manifest.permission.SYSTEM_ALERT_WINDOW,
Manifest.permission.WAKE_LOCK,
Manifest.permission.INTERNET,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.BROADCAST_STICKY,
Manifest.permission.VIBRATE,
Manifest.permission.RECORD_AUDIO,
};
private boolean checkPermissions() {
int result;
List<String> listPermissionsNeeded = new ArrayList<>();
for (String p : permissions) {
result = ContextCompat.checkSelfPermission(getActivity(), p);
if (result != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(p);
}
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(root, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
return false;
}
return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == REQUEST_ID_MULTIPLE_PERMISSIONS) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// selectImage();
// isPermission = true;
}
return;
}
}
0
您可以在应用程序的第一次启动设置权限,而不对话框编程。
private void setPermission(string permission){
Process process = null;
try {
process = Runtime.getRuntime().exec("/system/bin/su -c pm grant " + [your package name] + " " + permission);
process.waitFor();
Log.d(TAG, "permission exec done " + process.exitValue());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
现在你可以把它叫做:
setPermission("android.permission.SYSTEM_ALERT_WINDOW");
我不是100%肯定,如果你需要sudo的。
+0
我现在面临这个错误与上面的代码 产生java.io.IOException:运行exec()时出错。命令:[/ system/bin/su,-c,pm,grant,“package name”,android.permission.ACCESS_FINE_LOCATION] Working Directory:null Environment:null – Usman
相关问题
- 1. 权限对话框不显示android棉花糖
- 2. 请求权限对话框中没有Android的棉花糖弹出
- 3. 在android棉花糖没有被授予的所有权限
- 4. 棉花糖权限错误
- 5. RunTime权限棉花糖Android
- 6. 没有在棒棒糖和棉花糖
- 7. 单元测试中的棉花糖运行时权限
- 8. 在Android棉花糖(API v23)Cordova/phonegap项目上添加运行时权限
- 9. 复选框显示褪色棉花糖
- 10. osmdroid和棉花糖的动态权限
- 11. 棉花糖权限和解释
- 12. Android的自定义权限 - 棉花糖
- 13. 线程未运行在棉花糖设备
- 14. 棉花糖权限对话框允许按钮不工作为什么?
- 15. 如何处理SYSTEM_ALERT_WINDOW权限未被自动授予某些预先设置的棉花糖设备
- 16. 摄像头权限不适用于棉花糖及以上设备和崩溃
- 17. Codename one棉花糖授权
- 18. XamSVG for Android上的Xamarin表单:某些图像未在棉花糖中显示
- 19. 无法调试棉花糖设备
- 20. 在Noughat中未显示运行时用户权限对话框
- 21. 我的应用程序首次不询问棉花糖的运行时权限?
- 22. 拒绝Android棉花糖崩溃中的运行时权限应用
- 23. Android权限对话框在Xamarin.Forms中没有显示
- 24. 从onCreate上的棉花糖和以上棉花糖设备上读取外部存储中的文件
- 25. 在棉花糖中构建自定义共享对话框
- 26. 当使用瓶棉花糖时访问棉花糖装饰者
- 27. 运行棉花糖的三星电话不会显示QR阅读器
- 28. Android请求权限对话框没有显示
- 29. ibswiftCore.dylib:权限被拒绝,没有模拟器/设备上运行
- 30. 在Android中请求多个蓝牙权限棉花糖
崩溃日志+什么是设备?以及你对设备问题和代码问题的确信如何,最后,如果你谈论Xiomi设备,那么你会有一个噩梦。 – k0sh
您还需要将此权限添加到清单...您是否已经完成了这项工作,或者您是否只是在运行时请求? – Opiatefuchs
发布*错误日志*或* Logcat *。并确保@Opiatefuchs爵士建议检查并浏览该部分。 –