繁体   English   中英

扩展Android中的类应用程序?

[英]Extends class Application in Android?

我应该在运行时在Application类内应用权限吗? 例如:内部类扩展了Application我写了一些代码,而不是我在另一个类上写了:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (ContextCompat.checkSelfPermission(PhotoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED &&
                ContextCompat.checkSelfPermission(PhotoActivity.this,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE)
                        != PackageManager.PERMISSION_GRANTED &&
                ContextCompat.checkSelfPermission(PhotoActivity.this,
                        Manifest.permission.CAMERA)
                        != PackageManager.PERMISSION_GRANTED) {

            // No explanation needed, we can request the permission.

            ActivityCompat.requestPermissions(PhotoActivity.this,
                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
                            Manifest.permission.CAMERA},
                    Constants.MY_PERMISSIONS_REQUEST_ACCESS_STORAGE);
        }
    }

P / s:对不起,我的英语:(

如果您要定位具有MarshMallow OS的设备? 然后,您必须在代码中实现“在运行时请求权限”概念。

但是为什么有必要实施呢?

由于MarshMallow不需要许可,因此在安装应用程序时。

它引入了一项新功能,即在运行时请求权限。 这意味着您必须在运行时授予对外部存储设备读/写,发送/接收短信,访问摄像机等的权限。

这个概念很有用,因为用户可以随时了解他/她授予应用程序的每个许可。 用户可以通过设备上的设置>>应用程序>>拍照应用程序>>权限撤消授予的权限。

如果您未实现运行时权限,则您的应用程序将崩溃或在具有MarshMallow的设备上无法正常运行。

权限类别有2种类型:

  • 危险的
  • 正常

您可以在此处了解有关权限的更多信息

必须在AndroidManifest.xml中定义两种权限,但是只有危险权限才需要运行时请求。

在安装时已请求普通权限,以后无法撤消。 例如:android.permission.INTERNET

您可以按照@Abhishek SinghApplication类本身中检查权限,棉花糖的目标设备需要该权限,并且您也必须处理该权限。 更多信息请点击这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM