public class MainActivity extends AppCompatActivity { Handler mHandle; @RequiresApi(api = Build.VERSION_CODES.M) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHandle = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); } }; checkDrawOverlayPermission(); mHandle.postDelayed(new Thread() { @Override public void run() { Log.e("wxf", "111"); AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); dialog.setTitle("测试"); dialog.setIcon(android.R.drawable.ic_dialog_info); dialog.setMessage("测试 "); AlertDialog mDialog = dialog.create(); mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); mDialog.show(); super.run(); } }, 3000); } @RequiresApi(api = Build.VERSION_CODES.M) public void checkDrawOverlayPermission() { // Settings.canDrawOverlays() if (!Settings.canDrawOverlays(MainActivity.this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, 111); } } @RequiresApi(api = Build.VERSION_CODES.M) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 111) { if (Settings.canDrawOverlays(this)) { } } } }
Android实现不依赖activity的dialog
最新推荐文章于 2022-03-14 17:00:05 发布