Nin*_*nea 3 android android-permissions android-6.0-marshmallow
我需要手动为API级别23请求权限,并且出现对话框窗口并且应用程序进入后台.
这是我的代码:
@Override
public void onDialogDone(int dialog, boolean result) {
DialogFragment newFragment;
switch (dialog) {
case EULA_DIALOG:
if (result) {
boolean numberExists = _appRegistration.checkPhoneNumber();
if (!numberExists) {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_PHONE_STATE},
MY_PERMISSIONS_PHONE_STATE_READ);
return;
} else {
//do some work
}
} else {
Intent intent = new Intent(...);
startActivity(intent);
finish();
}
break;....
}
}
Run Code Online (Sandbox Code Playgroud)
另外,在MainActivity中我覆盖了以下方法:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case MY_PERMISSIONS_PHONE_STATE_READ: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// do some work
} else {
// do some work
}
return;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我点击"允许"或"拒绝",此方法不叫,因为应用程序在后台模式......我登录onPause和onStop方法和他们两个被称为显示许可窗口之后.
Nin*_*nea 11
存在MainActivity问题,在清单文件中将其配置为:
机器人:noHistory = "真"
我刚删除了这个属性,应用程序开始按预期工作.
| 归档时间: |
|
| 查看次数: |
2325 次 |
| 最近记录: |