Android权限请求:onRequestPermissionsResult从未调用/到达-可能存在上下文问题
请求权限:Android权限请求:onRequestPermissionsResult从未调用/到达-可能存在上下文问题,android,android-context,android-6.0-marshmallow,android-permissions,runtime-permissions,Android,Android Context,Android 6.0 Marshmallow,Android Permissions,Runtime Permissions,请求权限: public class GooglePermissions extends ExternalClass { //... private void checkPermissions() { if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
public class GooglePermissions extends ExternalClass
{
//...
private void checkPermissions()
{
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions( (Activity) mContext, new String[]{Manifest.permission.GET_ACCOUNTS}, REQUEST_GET_ACCOUNTS);
}
}
//...
}
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
{
switch (requestCode)
{
case REQUEST_GET_ACCOUNTS:
{
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
Log.d(TAG, "Permissions Granted");
}
else
{
Log.d(TAG, "Permissions Denied");
}
return;
}
}
}
权限请求结果:
public class GooglePermissions extends ExternalClass
{
//...
private void checkPermissions()
{
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions( (Activity) mContext, new String[]{Manifest.permission.GET_ACCOUNTS}, REQUEST_GET_ACCOUNTS);
}
}
//...
}
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
{
switch (requestCode)
{
case REQUEST_GET_ACCOUNTS:
{
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
Log.d(TAG, "Permissions Granted");
}
else
{
Log.d(TAG, "Permissions Denied");
}
return;
}
}
}
我正在尝试执行Android权限检查-但是从未调用onRequestPermissionsResult
方法
我怀疑罪犯是:(活动)mContext
…但是我不能简单地使用:“this”,因为包含此代码的类不是活动
欢迎提出建议
onRequestPermissionsResult()
需要在传递到requestPermissions()
的活动上实现
欢迎提出建议
请求您在活动或片段中的权限。无论如何,这些权限请求都必须绑定到您的UI,以便对用户有意义(例如,他们点击了触发权限请求的某某操作栏项)
如果您希望将权限请求的结果转发给其他对象,欢迎您这样做。onRequestPermissionsResult()
需要在传递到requestPermissions()
的活动上实现
欢迎提出建议
请求您在活动或片段中的权限。无论如何,这些权限请求都必须绑定到您的UI,以便对用户有意义(例如,他们点击了触发权限请求的某某操作栏项)
如果您希望将权限请求的结果转发给其他对象,欢迎您这样做