![](/img/trans.png)
[英]How to find if android app is started by AndroidOS or ChromeOS's android container?
[英]Why do new Activities create new Windows on ChromeOS? How to constrain them to just one window?
我有一個簡單的Android應用,其中包含3個活動:Login,Browse_Catalog和View_Item。 在ChromeOS上,我希望“活動”可以堆疊在一個窗口中。 相反,每個活動都顯示在ChromeOS上自己的獨立管理窗口中。 為什么會這樣呢? 我該如何停止這種行為?
我希望有一些配置細節可以將活動堆疊在一個窗口中。 我嘗試在啟動活動的Intent中尋找某個標志,或者在Manifest中尋找某個設置,但是沒有發現任何表明此行為是故意的或有辦法禁用它的方法。
ChromeOS 76.0.3809.102 (Official Build)(64-bit)
Asus Chromebox
Android Studio 3.4.2
targetSdkVersion: 28
minSdkVersion: 25
jvmTarget: 1.8
據我所知,沒有錯誤消息。 帶有多個窗口的糟糕用戶體驗導致用戶認為正在運行三個單獨的程序。
應該隱藏在Backstack上的Activity並沒有很好的響應,windowmanager允許在重新確定活動的z順序之前短暫調整它們的大小。
windowmanager確實允許我從后退堆棧中關閉“活動” /窗口(例如,在“查看項目”時瀏覽目錄),但是從頂部退出卻無濟於事。
我可以通過在全屏模式下啟動“活動”來解決此問題,但這似乎是一個巨大的麻煩。 它不會阻止用戶最小化或調整單個窗口的大小。
也許我可以將其作為具有多個片段的單個活動來完成,但除非絕對必要,否則我不想投入太多工作。
對於后代:我的錯誤是Browse_Catalog活動在清單中有一行
<activity ...
android:launchMode="singleInstance"
/>
這會將活動創建為單個“任務”,並且不會在該任務中啟動任何其他活動。 這是一個包含有關活動,任務和BackStack的更多詳細信息的頁面
我期望的是默認行為(aka android:launchMode="standard"
),因此刪除此虛假設置可以解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.