当我们询问用户在他的电话上的许可时,我们可以通知操作系统不要再次询问此权限吗?不管用户的回应是什么。只请求一次android权限
0
A
回答
0
当您以任何方式询问权限时,在下面的对话框中,打开要求权限的对话框中会出现一个复选框,通过检查它,OS不会再要求您提供该权限:
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, RC_WRITE_EXTERNAL_STORAGE);
}
}
1
不,对不起。您需要跟踪是否向用户询问权限,然后使用该信息确定是否在将来提问。
1
如果程序不“拼命”需要权限,则可以使用SharedPreferences并将名为firstTime的变量存储为布尔值true。 然后检查该变量的onCreate方法。如果是,请询问权限,然后将该值设置为false并保存。然后,当用户重新运行该应用程序时,它不会是“FirstTime”,因此他不会被授予权限。
SharedPreferences pref = this.getSharedPreferences("PACKAGE.NAME",MODE_PRIVATE);
Boolean firstTime = pref.getBoolean("firstTime",true);
if(firstTime){
//Ask for permissions here
pref.edit().putBoolean("firstTime",false).apply();
}
+0
我有这个想法,但由于用户可以通过检查对话框中的复选框通知操作系统,我想知道是否有任何选项以编程方式传递该参数。 – arunwithasmile
相关问题
- 1. Android请求权限请求只有第一个
- 2. Android:请求多个权限时仅请求第一个权限
- 3. 每次请求facebook权限
- 4. Android请求多权限
- 5. Android CORS请求只能工作一次?
- 6. 请求写权限
- 7. 只发送一次Ajax请求一次
- 8. 权限请求对话框多次出现android
- 9. Android开发:如何请求权限?
- 10. Android偏好特定权限请求
- 11. Android M请求权限非活动
- 12. Android API 23请求多个权限
- 13. 请求代码在Android的权限
- 14. 的Android程序请求的权限
- 15. Android上的UnityPlayer请求权限
- 16. Android - 更改READ_PHONE_STATE权限请求消息
- 17. Android M请求权限不起作用
- 18. Facebook请求权限示例?
- 19. CLLocationManager:请求更高权限
- 20. 检查权限请求
- 21. Facebook Jquery ajax权限请求?
- 22. 请求INTERNET权限的BindException
- 23. iFrame App。权限请求?
- 24. Facebook请求权限javascript?
- 25. PACKAGE_USAGE_STATS的请求权限
- 26. 一次只有一个AJAX请求?
- 27. 如何在用户使用MVC4 OAuthWebSecurity编辑权限时再次请求权限?
- 28. Android Facebook SDK 3 - 请求新权限但无法重新授权
- 29. Jquery IE。 ajax请求只运行一次
- 30. 排队请求只能在android中执行一次
任何来源?这样我可以清楚地抛弃这个想法并开始解决方法。 – arunwithasmile
@arunwithasmile:“任何来源?” - 我无法向您显示有关不存在的内容的文档。 – CommonsWare
是的,你是对的。我只是有点希望:) – arunwithasmile