本文整理汇总了Java中android.provider.Settings.ACTION_MANAGE_OVERLAY_PERMISSION属性的典型用法代码示例。如果您正苦于以下问题:Java Settings.ACTION_MANAGE_OVERLAY_PERMISSION属性的具体用法?Java Settings.ACTION_MANAGE_OVERLAY_PERMISSION怎么用?Java Settings.ACTION_MANAGE_OVERLAY_PERMISSION使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.provider.Settings
的用法示例。
在下文中一共展示了Settings.ACTION_MANAGE_OVERLAY_PERMISSION属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
int button = intent.getIntExtra(BUTTON_KEY, 0);
if(button > 0) {
((TextView)findViewById(R.id.textview)).setText("Button " + button + " is pressed!");
}
//Ask permission
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent permissionIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(permissionIntent, CODE_DRAW_OVER_OTHER_APP_PERMISSION);
}
}
示例2: checkDrawOverlayPermission
public boolean checkDrawOverlayPermission() {
/** check if we already have permission to draw over other apps */
if (Build.VERSION.SDK_INT >= 23) {
if (!Settings.canDrawOverlays(activity)) {
/** if not construct intent to request permission */
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + activity.getPackageName()));
/** request permission via start activity for result */
activity.startActivityForResult(intent, SETTINGS_REQUEST_CODE);
return false;
} else {
return true;
}
} else {
return true;
}
}
示例3: showCustomFloatingView
/**
* カスタマイズFloatingViewの表示
*
* @param context Context
* @param isShowOverlayPermission 表示できなかった場合に表示許可の画面を表示するフラグ
*/
@SuppressLint("NewApi")
private void showCustomFloatingView(Context context, boolean isShowOverlayPermission) {
// API22以下かチェック
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
context.startService(new Intent(context, CustomFloatingViewService.class));
return;
}
// 他のアプリの上に表示できるかチェック
if (Settings.canDrawOverlays(context)) {
context.startService(new Intent(context, CustomFloatingViewService.class));
return;
}
// オーバレイパーミッションの表示
if (isShowOverlayPermission) {
final Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + context.getPackageName()));
startActivityForResult(intent, CUSTOM_OVERLAY_PERMISSION_REQUEST_CODE);
}
}
示例4: onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
} else {
this.initializePage();
}
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
示例5: onButtonClick
/**
* Flags控制window的显示特性
* FLAG_NOT_FOCUSABLE 不需要获取焦点
* FLAG_NOT_TOUCH_MODAL 当前window区域以外的单击事件传递给底层的window,当前的单击事件自己出来
* FLAG_SHOW_WHEN_LOCKED WINDOW可以在锁屏的界面上显示
*
* type标示window的类型:应用Window、子window、和系统window
* 应用window对应着一个activity。
* 子window不能单独存在附属在特定的父window中
* 系统window,toast和系统状态栏 TYPE_SYSTEM_OVERLAY、TYPE_SYSTEM_ERROR
*
*/
public void onButtonClick(View v) {
if (v == mCreateWindowButton) {
if (Build.VERSION.SDK_INT >= 23) {
if (Settings.canDrawOverlays(this)) {
showWindow();
} else {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(intent);
}
} else {
showWindow();
}
}
}
示例6: onCreate
@Override
protected void onCreate(@Nullable Bundle b) {
super.onCreate(b);
final Intent intent = super.getIntent();
if (intent != null && Intent.ACTION_MAIN.equals(intent.getAction()) && !intent.getBooleanExtra(Intent.EXTRA_INTENT, false)) {
final Intent youtube = new Intent(Intent.ACTION_MAIN).setPackage("com.google.android.youtube").addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (youtube.resolveActivity(getPackageManager()) != null) {
super.startActivity(youtube);
}
super.finish();
} else if (canDrawOverlays()) {
startService();
} else {
super.startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), REQUEST_OVERLAY_PERMISSION);
}
}
示例7: showKeyguardView
@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);
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;
}
示例8: onCreate
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_camera);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this.getApplicationContext())) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}
if (null == savedInstanceState) {
getSupportFragmentManager()
.beginTransaction()
// .replace(R.id.container, CameraConnectionFragment.newInstance())
// .replace(R.id.container, ARMaskFragment.newInstance())
.replace(R.id.container, ARFaceFragment.newInstance())
// .replace(R.id.container, CameraTestFragment.newInstance())
.commit();
}
}
示例9: onCreate
protected void onCreate(Bundle savedInstanceState) {
boolean needsOverlayPermission = false;
if (getReactNativeHost().getUseDeveloperSupport() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// Get permission to show redbox in dev builds.
if (!Settings.canDrawOverlays(getContext())) {
needsOverlayPermission = true;
Intent serviceIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getContext().getPackageName()));
FLog.w(ReactConstants.TAG, REDBOX_PERMISSION_MESSAGE);
Toast.makeText(getContext(), REDBOX_PERMISSION_MESSAGE, Toast.LENGTH_LONG).show();
((Activity) getContext()).startActivityForResult(serviceIntent, REQUEST_OVERLAY_PERMISSION_CODE);
}
}
if (mMainComponentName != null && !needsOverlayPermission) {
loadApp(mMainComponentName);
}
mDoubleTapReloadRecognizer = new DoubleTapReloadRecognizer();
}
示例10: onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
boolean needToEnableDevMenu = false;
if (getReactNativeHost().getUseDeveloperSupport()
&& Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
&& !Settings.canDrawOverlays(getContext())) {
// Get permission to show redbox in dev builds.
needToEnableDevMenu = true;
Intent serviceIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getContext().getPackageName()));
Toast.makeText(getContext(), REDBOX_PERMISSION_MESSAGE, Toast.LENGTH_LONG).show();
startActivityForResult(serviceIntent, REQUEST_OVERLAY_CODE);
}
mReactRootView = new ReactRootView(getContext());
if (!needToEnableDevMenu) {
mReactRootView.startReactApplication(
getReactNativeHost().getReactInstanceManager(),
mComponentName,
mLaunchOptions);
}
return mReactRootView;
}
示例11: onPostResume
@Override
protected void onPostResume() {
super.onPostResume();
if (!permissionRequested) {
permissionRequested = true;
requestMultiplePermissions();
}
// We can't work withoout overlays
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, 123);
} else {
// ((EditText) findViewById(R.id.botTokenEditText)).setText(PrefsController.instance.getToken());
((EditText) findViewById(R.id.botPassword)).setText(PrefsController.instance.getPassword());
((CheckBox) findViewById(R.id.autorunCheckbox)).setChecked(PrefsController.instance.isAutorunEnabled());
if (PrefsController.instance.isPro()) {
findViewById(R.id.proVersionButton).setVisibility(View.GONE);
((ImageView) findViewById(R.id.mainIcon)).setImageResource(R.drawable.icon_pro);
}
if (!PrefsController.instance.isHelpShown()) {
showHelp();
}
LocalBroadcastManager.getInstance(this).registerReceiver(serviceStopReciever, new IntentFilter(TELEPHOTO_SERVICE_STOPPED));
}
}
示例12: requestDrawOnSystemLayerPermission
public static void requestDrawOnSystemLayerPermission(@NonNull Context context) {
if (!hasSystemAlertPermissionInManifest(context)) {
throw new UnsupportedOperationException("'SYSTEM_ALERT_WINDOW' must be explicitly added in the manifest.");
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// request permission
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + context.getPackageName()));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
}
}
示例13: checkAndRequestOverlayPermission
public boolean checkAndRequestOverlayPermission() {
Log.i("[Permission] Draw overlays permission is " + (Compatibility.canDrawOverlays(this) ? "granted" : "denied"));
if (!Compatibility.canDrawOverlays(this)) {
Log.i("[Permission] Asking for overlay");
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, PERMISSIONS_REQUEST_OVERLAY);
return false;
}
return true;
}
示例14: onCreate
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
if (!Premium.isPremium(this)) {
finish();
return;
}
if (android.os.Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(this)) {
Uri uri = Uri.parse("package:" + getPackageName());
Intent activity = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, uri);
startActivityForResult(activity, REQUEST_CODE_WINDOW_OVERLAY_PERMISSION);
} else {
onSuccess();
}
}
示例15: onCreate
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
if (Intent.ACTION_CREATE_SHORTCUT.equals(getIntent().getAction())) {
if (android.os.Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, REQUEST_CODE_WINDOW_OVERLAY_PERMISSION);
} else {
onSuccess();
}
}
}