java - 是否可以使用广播接收器在设备主屏幕上显示警报对话框,而不是在我们的应用程序主要 Activity 上显示警报对话框?

标签 java android

我想在新安装应用程序时显示一个警报对话框,显示它所需的权限,然后用户安装该应用程序并查看请求的权限。

最佳答案

我很确定您不能,但您可以创建一个可以在应用程序外部显示在其他应用程序上方的窗口。 这需要您向用户请求许可:android.permission.SYSTEM_ALERT_WINDOW

例如:

    View view;
    WindowManager.LayoutParams layoutParams;
    WindowManager windowManager = (WindowManager) MyApplication.getContext().getSystemService(Context.WINDOW_SERVICE);
    boolean showing = false;
    void Create(){
        view= LayoutInflater.from(getContext()).inflate(R.layout.my_layout,null);

        int size = 150;
        layoutParams = new WindowManager.LayoutParams(
                size , size,
                WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT
        );

        layoutParams.gravity = Gravity.TOP | Gravity.RIGHT;
        layoutParams.setTitle("123");
        layoutParams.dimAmount = 0;
    }

    void show(){
        if(showing) return;

        showing = true;
        windowManager.addView(view, layoutParams);
    }

    void hide(){
        if(!showing) return;

        showing = false;
        windowManager.removeView(view);
    }

关于java - 是否可以使用广播接收器在设备主屏幕上显示警报对话框,而不是在我们的应用程序主要 Activity 上显示警报对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58436565/

相关文章:

java - Hibernate ManyToMany 双向关系未获取子级中的父级实体

java - 如何在 Android WebView 中仅显示网站的一部分

android - 我们可以使用 javapns.notification.PushNotificationManager 在 android 上发送通知吗

java - Volley 使用单例将访问 token 附加到每个请求

android - 如何强制重新安装APK

Android ListView - 如何对项目点击使用react?

java - 有点奇怪的java代码,它是如何工作的?

java - Cordova 插件公开 JS 变量 (Android) (CardFlight)

java - 在 GAE 中发送带有图像的 html 电子邮件

java - 在java中绘制形状对象(可拖动、可调整大小且可旋转)