Java 如何以编程方式授予;“利用其他应用程序”;android中的权限?

Java 如何以编程方式授予;“利用其他应用程序”;android中的权限?,java,android,Java,Android,如何通过编程方式授予Android中设置->应用->绘制其他应用的权限?我想使用系统警报窗口,但如果不强制用户先通过设置应用程序并授予权限,则无法在Android棉花糖中使用该窗口。您可以检查并请求覆盖权限,以便使用该窗口覆盖其他应用程序 if (!Settings.canDrawOverlays(this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("packag

如何通过编程方式授予Android中
设置->应用->绘制其他应用的权限?我想使用系统警报窗口,但如果不强制用户先通过设置应用程序并授予权限,则无法在Android棉花糖中使用该窗口。

您可以检查并请求覆盖权限,以便使用该窗口覆盖其他应用程序

if (!Settings.canDrawOverlays(this)) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
    startActivityForResult(intent, 0);
}

检查此问题和答案:


“每个请求系统警报窗口权限并通过Play Store(需要6.0.5或更高版本)安装的应用程序都将自动授予该权限。”

if(!Settings.canDrawOverlays)(此)){
意向意向=新意向(设置、操作、管理、覆盖、权限、,
parse(“包:+getPackageName());
startActivityForResult(意向,0);
}

您有什么问题,请详细说明。尊敬的先生,当使用system.alert.window权限时,请根据权限打开一个已授予的窗口。我想按程序做。我不想打开那个窗口,请发布您的代码。到目前为止你试过什么?这是个好问题。人们总是无缘无故地提出一些非常有用的问题。检查我的答案,在stackoverflow上也找到了它,它对我很有用。我希望它以编程方式运行,无需用户控制。此代码检查你的应用程序是否具有覆盖权限。如果没有,它会将用户重定向到“设置”>“应用程序”>“绘制应用程序”页面,以允许用户授予权限。你不可能通过编程方式从Android Marasoow获得许可。我不太确定是否有办法做到这一点。有一个名为XOutOf10的应用程序可以在没有用户交互的情况下启用此权限。如果您在他们的play store中签出描述,它会显示“Android 6.0+用户:在第一次运行时,请确保您“允许绘制应用程序”。“用户必须手动启用该应用程序。”。在棉花糖出现之前是可能的,但在“每个请求系统警报窗口权限并通过Play Store(需要6.0.5或更高版本)安装的应用程序都会自动授予权限”之后是不可能的。请添加一些解释,以避免在低质量的帖子中出现此帖子。不,我没有这样做。我已尝试使用protectionLevel和将其上载到playstore,但用户仍必须手动启用。Idk FacebookMessenger是如何通过默认设置完成的,您是通过play store安装的?是的,请查看以下答案:
if (!Settings.canDrawOverlays(this)) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 
Uri.parse("package:" + getPackageName()));
    startActivityForResult(intent, 0);
}

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>