Bringing the activity to foreground 將activity切換到前台


今天遇到這個問題,找了很久,網上一些解決方法不夠完全。特做此記錄:

經測試以下方法不能將在后台運行的activity切換到前台運行!

1 Intent i = new Intent();
2 i.setClass(this, MainActivity.class);
3 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
4 startActivity(i);

必須要將i替換為getApplicationContext()才可以將MainActivity運行,但是並不是將后台運行的MainActivity切換到前台,而是新建了一個新的任務運行MainActivity。

必須用以下代碼

1 Intent start = new Intent(getApplicationContext(),MainActivity.class); 
2 start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 3 startActivity(start); 

並且在相應的MainActivity需要做如下紅色字體部分配置

<activity
android:name=".MainActivity"
android:label="@string/app_name" 
android:launchMode="singleTop">

才能將后台運行的MainActivity重新排序到前台運行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM