在我的应用程序中,我遇到了Android 6+屏幕覆盖问题。我尝试打开它,但是需要给予屏幕覆盖权限。
我按照此处的说明进行操作,但无法在我的活动中集成。
我还尝试了此处的方法,两种方法都有效,所以我想将它们集成到我的活动中。
这是我的活动:
public class MainActivity extends Activity {
public static final int R_PERM = 123;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
if ((CheckPermission(this, Manifest.permission.CAMERA)) &&
(CheckPermission(this, Manifest.permission.READ_PHONE_STATE)) &&
(CheckPermission(this, Manifest.permission.NFC))) {
PermHandling();
} else {
RequestPermission(MainActivity.this, Manifest.permission.CAMERA, R_PERM);
RequestPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE, R_PERM);
RequestPermission(MainActivity.this, Manifest.permission.NFC, R_PERM);
//NewPermHandling();
}
}
private void PermHandling() {
//My app internal parts....
//Here my stuff works...
}
//private void NewPermHandling(){
//}
@Override
public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults) {
switch (permsRequestCode) {
case R_PERM: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
PermHandling();
} else {
//Toast.makeText(this, "Please Grant Permissions other wise app will close.!", Toast.LENGTH_SHORT).show();
}
return;
}
}
}
public void RequestPermission(Activity thisActivity, String Permission, int Code) {
if (ContextCompat.checkSelfPermission(thisActivity,
Permission)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Permission)) {
} else {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Permission},
Code);
}
}
}
public boolean CheckPermission(Context context, String Permission) {
if (ContextCompat.checkSelfPermission(context,
Permission) == PackageManager.PERMISSION_GRANTED) {
return true;
} else {
return false;
}
}
}
有人可以建议我如何在我的活动中授予屏幕方向权限,以便用户无需担心或手动设置。请帮忙。
我尝试了这个,但我不知道PERM_REQUEST_CODE_DRAW_OVERLAYS
是什么。
有人可以帮助我在我的活动中添加它吗?这不是重复的问题,我只是想知道如何添加它。