Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用主应用程序中的活动在android库中调用onRequestPermissionsResult_Android_Android Permissions - Fatal编程技术网

使用主应用程序中的活动在android库中调用onRequestPermissionsResult

使用主应用程序中的活动在android库中调用onRequestPermissionsResult,android,android-permissions,Android,Android Permissions,因此,我正在编写一个Android库,它将从手机中获取gps坐标。当然,现在我需要权限,所以我得到: if (ContextCompat.checkSelfPermission(contexts, ActivityCompat.checkSelfPermission(contexts, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.c

因此,我正在编写一个Android库,它将从手机中获取gps坐标。当然,现在我需要权限,所以我得到:

if (ContextCompat.checkSelfPermission(contexts, ActivityCompat.checkSelfPermission(contexts, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(contexts, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, (new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}), MY_LOCATION_REQUEST_CODE);
        Log.e("permissionsBlock", "Ask for permissions");
        return;
}
我想让它工作得很好。它需要我的许可,我给它,它的工作

现在的问题是:一旦它拥有权限,它就不会自动运行我的其他代码,所以我搜索并发现我应该使用onRequestPermissionsResult。所以我实现了它,但什么也没发生,因为它在我的库中,如果我在应用程序中发布它,它会被触发,但如果我把它放在库中,它不会被触发。有人知道如何解决这个问题吗


感谢您的时间。

使用@nabinhandari中的库可以大大简化此过程。如果你有类似的问题,试试看


将活动的响应委托给您的库。或者更好:让库用户处理权限,并告诉他在授予权限之前不要调用您的库谢谢您的快速响应,我将如何授权?这是我不想做的,我想做所有的权限工作,因为我希望它尽可能低的介入。我处理权限的库可能会对你有用。thx@NabinBhandari使用了您的库并像一个charmI一样工作我很高兴我的库为您工作。:)