[英]How to make an activity window stay always on top
我想創建一個始終位於其他活動頂部的活動(如 Windows 中的模式窗口或任務管理器)。 我怎樣才能在 Android 上做到這一點? 謝謝
您可以在活動的重寫 onStop 方法中使用以下代碼:
@Override
protected void onStop(){
super.onStop();
Intent intent = new Intent(this, ClassNameOfYourActivity.class);
startActivity(intent);
}
美容問題:如果任何其他活動試圖獲得焦點,您的活動將再次彈出。 所以它不是一個模態窗口。
而且很危險! 您將無法處理 Android GUI,您將只能控制您的應用程序 GUI。 例如,開關調試模式、殺死應用程序(僅通過 ADB)、到達系統設置等都是不可能的。 如果您關閉 ADB 並將其與自動啟動機制結合使用,那么您將陷入困境。
因此,如果您與 Play 分享它,您將不會受歡迎:)
根據您究竟要做什么,您可能會對位於其他活動之上的窗口感到滿意。
你不能。 因為這是在Android系統中定義的。
按照步驟來實現您的要求
在清單中添加以下代碼
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
使用以下代碼獲取用戶的覆蓋權限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (!Settings.canDrawOverlays(this)) { new AlertDialog.Builder(this) .setTitle("Permission Request") .setMessage("This app needs your permission to overlay the system apps") .setPositiveButton("Open settings", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Intent myIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); startActivityForResult(myIntent, 101); } }) .setNegativeButton(android.R.string.no, null) .show(); } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.