List of usage examples for android.provider Settings ACTION_MANAGE_OVERLAY_PERMISSION
String ACTION_MANAGE_OVERLAY_PERMISSION
To view the source code for android.provider Settings ACTION_MANAGE_OVERLAY_PERMISSION.
Click Source Link
From source file:com.hrs.filltheform.main.PermissionsManager.java
public static void askForSystemAlertWindowPermission(AppCompatActivity activity, int requestCode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())); activity.startActivityForResult(intent, requestCode); } else {//from www. j av a2 s . com ToastUtil.show(activity, activity.getString(R.string.permission_system_alert_window_already_enabled)); } }
From source file:com.commonsware.android.sawmonitor.SAWDetector.java
static void seeSAW(Context ctxt, String pkg, String operation) { if (hasSAW(ctxt, pkg)) { Uri pkgUri = Uri.parse("package:" + pkg); Intent manage = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); manage.setData(pkgUri);/* ww w. j av a 2s . com*/ Intent whitelist = new Intent(ctxt, WhitelistReceiver.class); whitelist.setData(pkgUri); Intent main = new Intent(ctxt, MainActivity.class); main.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); NotificationManager mgr = (NotificationManager) ctxt.getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && mgr.getNotificationChannel(CHANNEL_WHATEVER) == null) { mgr.createNotificationChannel(new NotificationChannel(CHANNEL_WHATEVER, "Whatever", NotificationManager.IMPORTANCE_DEFAULT)); } NotificationCompat.Builder b = new NotificationCompat.Builder(ctxt, CHANNEL_WHATEVER); String text = String.format(ctxt.getString(R.string.msg_requested), operation, pkg); b.setAutoCancel(true).setDefaults(Notification.DEFAULT_ALL).setWhen(System.currentTimeMillis()) .setContentTitle(ctxt.getString(R.string.msg_detected)).setContentText(text) .setSmallIcon(android.R.drawable.stat_notify_error) .setTicker(ctxt.getString(R.string.msg_detected)) .setContentIntent(PendingIntent.getActivity(ctxt, 0, manage, PendingIntent.FLAG_UPDATE_CURRENT)) .addAction(R.drawable.ic_verified_user_24dp, ctxt.getString(R.string.msg_whitelist), PendingIntent.getBroadcast(ctxt, 0, whitelist, 0)) .addAction(R.drawable.ic_settings_24dp, ctxt.getString(R.string.msg_settings), PendingIntent.getActivity(ctxt, 0, main, 0)); mgr.notify(NOTIFY_ID, b.build()); } }
From source file:com.rks.musicx.misc.utils.permissionManager.java
public static void widgetPermission(@NonNull Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(activity)) { MaterialDialog.Builder dialog = new MaterialDialog.Builder(activity).title(R.string.permissions_title) .content(R.string.draw_over_permissions_message).positiveText(R.string.btn_continue) .negativeText(R.string.btn_cancel).autoDismiss(true) .onPositive(new MaterialDialog.SingleButtonCallback() { @Override//from w w w . j a v a2 s . c om public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.fromParts("package", activity.getPackageName(), null)); if (Helper.isActivityPresent(activity, intent)) { activity.startActivityForResult(intent, OVERLAY_REQ); } else { Toast.makeText(activity, "No app found to handle floating widget enable permission", Toast.LENGTH_SHORT).show(); } } } }).onNegative(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { Toast.makeText(activity, R.string.toast_permissions_not_granted, Toast.LENGTH_SHORT) .show(); dialog.dismiss(); } }).neutralText("Never show again").onNeutral(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { Extras.getInstance().setWidgetTrack(true); dialog.dismiss(); } }); if (activity.hasWindowFocus() || !activity.isFinishing()) { dialog.show(); } } }
From source file:trumeet.keyguard.utils.MaskWindowUtils.java
@Nullable private View showKeyguardView(boolean showSettings) { if (Build.VERSION.SDK_INT >= 23) { if (!Settings.canDrawOverlays(mContext)) { if (!showSettings) return null; Intent i = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); mContext.startActivity(i);// w w w.j a va 2 s . co m return null; } } View keyguardView = LayoutInflater.from(mContext).inflate(R.layout.layout_keyguard, null); WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams(); wmParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR; wmParams.format = PixelFormat.TRANSPARENT; wmParams.flags = WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR; wmParams.width = WindowManager.LayoutParams.MATCH_PARENT; wmParams.height = WindowManager.LayoutParams.MATCH_PARENT; mManager.addView(keyguardView, wmParams); mContext.startActivity(new Intent(mContext, KeyguardLiveActivity.class)); return keyguardView; }
From source file:com.commonsware.android.sawmonitor.PackageReceiver.java
private void seeSAW(Context ctxt, String pkg, boolean isReplace) { if (hasSAW(ctxt, pkg)) { Uri pkgUri = Uri.parse("package:" + pkg); Intent manage = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); manage.setData(pkgUri);/* w ww . j a v a 2s .c o m*/ Intent whitelist = new Intent(ctxt, WhitelistReceiver.class); whitelist.setData(pkgUri); Intent main = new Intent(ctxt, MainActivity.class); main.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); NotificationCompat.Builder b = new NotificationCompat.Builder(ctxt); String text = String.format(ctxt.getString(R.string.msg_requested), isReplace ? ctxt.getString(R.string.msg_upgraded) : ctxt.getString(R.string.msg_installed), pkg); b.setAutoCancel(true).setDefaults(Notification.DEFAULT_ALL).setWhen(System.currentTimeMillis()) .setContentTitle(ctxt.getString(R.string.msg_detected)).setContentText(text) .setSmallIcon(android.R.drawable.stat_notify_error) .setTicker(ctxt.getString(R.string.msg_detected)) .setContentIntent(PendingIntent.getActivity(ctxt, 0, manage, PendingIntent.FLAG_UPDATE_CURRENT)) .addAction(R.drawable.ic_verified_user_24dp, ctxt.getString(R.string.msg_whitelist), PendingIntent.getBroadcast(ctxt, 0, whitelist, 0)) .addAction(R.drawable.ic_settings_24dp, ctxt.getString(R.string.msg_settings), PendingIntent.getActivity(ctxt, 0, main, 0)); NotificationManager mgr = (NotificationManager) ctxt.getSystemService(Context.NOTIFICATION_SERVICE); mgr.notify(NOTIFY_ID, b.build()); } }
From source file:com.canking.sdcardhelper.PermissionUtils.java
/** * ??// ww w . j a v a 2s.c o m * * @param cxt * @param req * @return */ @TargetApi(23) public static <C extends Context> boolean checkSettingAlertPermission(Activity cxt, int req, C t) { Activity activity = (Activity) cxt; if (!Settings.canDrawOverlays(activity.getBaseContext())) { Log.i(TAG, "Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())); activity.startActivityForResult(intent, req); return false; } return true; }
From source file:com.youshe.yangyi.common_app.util.PermissionUtils.java
/** * ??//from w w w. ja v a 2 s.co m * * @param cxt * @param req * @return */ @TargetApi(23) public static boolean checkSettingAlertPermission(Object cxt, int req) { if (cxt instanceof Activity) { Activity activity = (Activity) cxt; if (!Settings.canDrawOverlays(activity.getBaseContext())) { Log.i(TAG, "Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())); activity.startActivityForResult(intent, req); return false; } } else if (cxt instanceof Fragment) { Fragment fragment = (Fragment) cxt; if (!Settings.canDrawOverlays(fragment.getActivity())) { Log.i(TAG, "Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + fragment.getActivity().getPackageName())); fragment.startActivityForResult(intent, req); return false; } } else { throw new RuntimeException("cxt is net a activity or fragment"); } return true; }
From source file:com.hengtiansoft.ecommerce.library.base.util.PermissionUtils.java
/** * ??//from w w w .j ava 2s .c o m * * @param cxt * @param req * @return */ @TargetApi(23) public static boolean checkSettingAlertPermission(Object cxt, int req) { if (cxt instanceof Activity) { Activity activity = (Activity) cxt; if (!Settings.canDrawOverlays(activity.getBaseContext())) { LogUtil.i("Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())); activity.startActivityForResult(intent, req); return false; } } else if (cxt instanceof Fragment) { Fragment fragment = (Fragment) cxt; if (!Settings.canDrawOverlays(fragment.getActivity())) { LogUtil.i("Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + fragment.getActivity().getPackageName())); fragment.startActivityForResult(intent, req); return false; } } else { throw new RuntimeException("cxt is net a activity or fragment"); } return true; }
From source file:com.crea_si.eviacam.service.SplashActivity.java
/** * Check permissions and ask user when necessary * * @return true if the user granted all permissions, false when some permissions are * missing and therefore need to wait for the user *//*from w w w .j a v a 2 s . c o m*/ private boolean checkPermissions() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { // Nothing to do for versions below API 23 return true; } // Camera permission final boolean hasCameraPerm = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED; if (!hasCameraPerm) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CAMERA }, CAMERA_PERMISSION_REQUEST); return false; } // Manage overlay permission final boolean hasManageOverlayPerm = Settings.canDrawOverlays(this); if (!hasManageOverlayPerm) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, MANAGE_OVERLAY_PERMISSION_REQUEST); return false; } return true; }
From source file:com.lvbo.template.common.Utils.PermissionUtils.java
/** * ??//from w w w.j av a 2 s .c om * * @param cxt * @param req * @return */ @TargetApi(23) public static boolean checkSettingAlertPermission(Object cxt, int req) { if (cxt instanceof Activity) { Activity activity = (Activity) cxt; if (!Settings.canDrawOverlays(activity.getBaseContext())) { Log.i(TAG, "Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())); activity.startActivityForResult(intent, req); return false; } } else if (cxt instanceof Fragment) { Fragment fragment = (Fragment) cxt; if (!Settings.canDrawOverlays(fragment.getActivity())) { Log.i(TAG, "Setting not permission"); Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + fragment.getActivity().getPackageName())); fragment.startActivityForResult(intent, req); Context c; return false; } } else { throw new RuntimeException("cxt is net a activity or fragment"); } return true; }