悬浮窗权限申请具体

悬浮窗权限代码:
在manifest中需要添加申请:
   <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

直接进行代码的申请:

private void requestAlertWindowPermission() {
			try {
				ToofifiLog.t(TAG, "requestAlertWindowPermission()");
				Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
				intent.setData(Uri.parse("package:" + getPackageName()));
				startActivityForResult(intent, 1001);
			} catch (Exception e) {
				ToofifiLog.t(TAG, "requestAlertWindowPermission() failed, e=" + e.toString());
				e.printStackTrace();
			}
		}

	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if (requestCode == 1001) {
			if (0 == ClientConfig.checkHasCanDrawOverlaysPermission()) {
				int callCode = FtsdkApiProxy.getInstance().startCanDrawOverlaysServices();
				mCheckBox.setChecked(true);
				showText("启动需要悬浮权限的服务:" + (callCode == 0 ? "启动成功" : "启动失败, callCode=" + callCode));
			} else {
				mCheckBox.setChecked(false);
				showText("启动需要悬浮权限的服务:启动失败, 没权限");
			}
		}
	}

对于在manifest文件中的权限申请需要根据api的版本判断是否添加权限申请。从API级别23开始,除非声明Manifest.permission,否则应用程序不能在其他应用程序之上绘制。SYSTEM_ALERT_WINDOW权限在其清单中,并且用户明确授予应用程序此功能。要提示用户授予此批准,应用程序必须发送带有操作action_MANAGE_OVERLAY_PERMISSION的意图,这会导致系统显示权限管理屏幕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值