AppCompatActivity和Marshmallow权限

时间:2016-04-05 11:49:31

标签: android android-6.0-marshmallow android-permissions

我的应用使用“危险”权限,例如READ_CONTACTS等。我看到支持这个新模型的所有示例都使用从AppCompatActivity派生的类。我是否真的必须将我的活动子类化为子类AppCompatActivity的子类?在使用活动时是否有另一种方法可以做到这一点?当我进行更改时,我的应用程序崩溃了。

1 个答案:

答案 0 :(得分:3)

  

我是否真的必须更改将Activity子类化为现在子类AppCompatActivity的活动?

没有

  

在使用活动时是否有其他方法可以做到这一点?

它的方式相同。 AppCompatActivity中没有任何内容与运行时权限有关。无论您是继承自ActivityAppCompatActivity还是PhilodendronActivity,还是:

  • 致电checkSelfPermission()(在Contextstatic上的ContextCompat版本),看看您是否持有权限

  • 致电requestPermissions()(在Activitystatic上的ActivityCompat版本)以请求用户的权限

  • onRequestPermissionsResult()上实施Activity以获取requestPermissions()来电的结果

因此,例如,这些示例应用中没有一个使用AppCompatActivity

  • app只是为了探索运行时权限

  • results完成动手教程以试验添加运行时权限

  • Two apps显示请求运行时权限作为设置Play服务的一部分'融合地点提供商

  • 使用

  • 设置Maps V2的运行时权限的app