2016-11-28 97 views
0

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

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:对不起,我的英语:(

回答

0

,如果你的目标有棉花糖OS的设备呢?你要实现你的请求的代码在运行时的概念权限。

但为什么它来实现的必要吗?

因为棉花糖没有一个当我们安装我们的应用程序时,需要获得许可

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

这个概念是有益的,因为用户可以随时获得他/她授予应用程序的每个许可。用户可以通过设置>>应用程序>>拍照App >>权限从他/她的设备撤消授予的权限。

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

有2种许可类:

  • 危险
  • 正常

您可以了解更多有关权限在here

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

安装时请求普通权限,以后不能撤销。例如: - android.permission.INTERNET对

0

可以在Application类本身检查的权限为每@Abhishek辛格需要对棉花糖的目标设备的许可,你必须处理权限过。更多检查here

相关问题