Android應(yīng)用程序窗口化的方法通常有兩種:使用系統(tǒng)權(quán)限或使用第三方庫。
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(yourView, params);
需要注意的是,Android系統(tǒng)對懸浮窗口的權(quán)限進(jìn)行了限制,從Android 6.0(API級別23)開始,需要動態(tài)請求SYSTEM_ALERT_WINDOW權(quán)限。此外,應(yīng)用程序窗口化可能影響用戶體驗(yàn)和系統(tǒng)性能,需要謹(jǐn)慎使用。