在AAR中申请Marshmallow

时间:2016-03-23 19:32:48

标签: android android-6.0-marshmallow

我有一个应用程序使用的Android应用程序和AAR库。 对于版本< = 22一切都很好。 现在我希望我的应用程序和库与marshmallow一起工作。 现在要获得Locations的权限,我的应用程序需要使用ActivityCompact.requestPermissions请求权限。

我想要的是在AAR中请求权限并使应用程序免于关心权限。 因此,当我从应用程序调用某个库(AAR)方法说Xyz()时,我想请求ACCESS_COARSE_LOCATION的权限。

private void Xyz(){
    if(Build.VERSION > 22){
     //Request permission.
    }else{

    }
}

使用ActivityCompact.requestPermission的请求权限需要Activity作为第一个参数。我的AAR不包含任何活动。 另外,我不能要求传递Activity Context,因为Application也可以从非Activity类调用Xyz()。

有没有办法可以在没有活动的AAR中申请许可?

2 个答案:

答案 0 :(得分:1)

  

有没有办法可以在没有活动的AAR中申请许可?

没有

答案 1 :(得分:0)

您可以使用片段作为该方法的参数和参数来请求权限,但它最终也会将片段(以及活动)包含到您的AAR中,或者请求片段作为您方法的参数。