首页 > 解决方案 > 如何在 java 中使用 system_alert_window 弹出窗口

问题描述

我需要让我的应用程序优于其他应用程序,我尝试获得SYSTEM_ALERT_WINDOW如下所示的权限。

public class excessiveusageactivity extends AppCompatActivity {

    static final int REQUEST_OVERLAY_PERMISSION = 1; //request code
    TextView result;

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        result = findViewById(R.id.result);
     if (requestCode == REQUEST_OVERLAY_PERMISSION) {
         if (Settings.canDrawOverlays(this)) {
             Toast permissionok = Toast.makeText(this, "permission granted!", Toast.LENGTH_SHORT);
             permissionok.show();
             //permission granted do stuff
             result.setText("yay");
         }else{
             Toast permissionnotgrantedtoast = Toast.makeText(this,"permission request failed, try again!", Toast.LENGTH_LONG);
             permissionnotgrantedtoast.show();
             //permission not granted
             result.setText("not granted");
         }
     }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_excessiveusageactivity);

        if(
                Settings.canDrawOverlays(this)
        ) {
            // ask for overlay permission
            Intent requestoverlaypermissionintent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + getPackageName()));
            startActivityForResult(requestoverlaypermissionintent, REQUEST_OVERLAY_PERMISSION);
            result.setText("here");
        }
    }
}

我从这里得到了用户 Jayman Jani 的代码。

当用户连续使用应用程序 X 分钟/小时时,我希望制作一个自定义系统警报弹出窗口,但我似乎找不到有关如何设置此弹出窗口的任何信息。我对这一切都很陌生,所以如果有人可以逐步解释它,那就太好了。谢谢!

标签: javaandroidpermissionspopupsystem-alert-window

解决方案


推荐阅读