Google Play現在可以在某些Chromebook上以測試版運行。我有谷歌播放應用程序,下載到Chromebook後,我遇到了這個問題:應用程序的活動重新啓動每次按「最大化」按鈕。當然,我想讓我的應用程序與Chrome OS兼容。我不確定問題出在哪裏,在Android設備上效果很好。Chrome操作系統上的Android應用每次都按「最大化」按鈕重新啓動
這個問題可以通過與Android工作室(我用1.5版)作出簡單的Hello World項目很好地重現:
在Android Studio中按「開始一個新的Android Studio項目」,填下一個名稱,然後按。我爲API 8+設置兼容性,然後選擇Empty活動。項目被設定爲最小的SDK 8和目標SDK 23.爲的onCreate我添加簡單吐司消息:
Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show();
導致APK可以在Chrome操作系統進行測試。每次按「最大化」按鈕我都會看到「重新創建」消息。
我對AndroidManifest.xml沒有做任何事情。但我測試了旗幟:
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="adjustResize"
沒有成功。
這裏是如何看我的活動代碼:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show();
}
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
Toast.makeText(this, "onConfigurationChanged", Toast.LENGTH_SHORT).show();
} }
我預計onConfigurationChanged
事件將每個I按「最大化」按鈕時被觸發,而是被稱爲onCreate()
。
請按我必須做的,以防止活動每次重新啓動是「最大化」按鈕按下。以及如何處理「調整大小」事件。
謝謝你,我試着用「screenSize」,但它不起作用。清單中的「orientation | keyboardHidden | screenSize」是Activity在Android設備上未重新啓動,但在Chrome OS上重新創建...如果確實必須重新啓動,那麼我必須開始將所有數據存儲在靜態變量中並將它們全部加載回所有在「onCreate」中查看。這意味着初始化所有的視圖,結構等...大開銷....希望有一些解決方法... – user1063364
嘗試所有的第一個:「mcc」,「mnc」,「區域設置」, 「觸摸屏」, 「keyboard」,「keyboardHidden」, 「navigation」,「screenLayout」,「fontScale」, 「uiMode」,「orientation」,「screenSize」, 「smallestScreenSize」,「density」:) –
Hah,perfect idea: )正確的設置是:「orientation | keyboardHidden | screenLayout | screenSize | smallestScreenSize」。如果我刪除screenLayout或smallestScreenSize,那麼它將無法工作。但「重新創建」現在只顯示一次,每次按「最大化」時,我都會看到「onConfiguration」消息。我現在用弧焊機測試了它,但是會盡快在chromebook上檢查它。將寫在這裏最終結果。非常感謝你。 – user1063364