在我的android客戶端程序中,當用戶有更新時收到通知。當用戶點擊通知時,他會被帶到顯示通知的新活動。現在,問題在於,如果收到另一個通知,用戶正在查看更新,並且他點擊該通知,則不會創建新的活動。
顯示上一個活動。該活動不會刷新。 < 我懷疑這是因爲當前的活動沒有完成。我應該如何克服這一點?在用戶點擊通知後完成當前活動
回答
爲什麼不試試在你的代碼中的WindowsFocusChanged(boolean hasFocus)。您的情況發生的是活動窗口已處於焦點狀態因此,當您單擊通知欄並移至相同的活動窗口時,將不會發生任何事情。
onWindowFocusChanged(boolean hasFocus)將在您每次進入該活動時執行。所以把你的整個代碼放到這裏。即使第一次調用活動,它也會被執行。因此,從公共無效的onCreate(捆綁savedInstanceState)我們的代碼複製到
public void onWindowFocusChanged (boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
setContentView(R.layout.layout_name);
//Your code to be executed here
}
而且是啊,你需要擁有的OnCreate()函數也是如此聲明,作爲
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
試試這個。 我希望它適合你
嘗試在你的活動代碼,添加此屬性的清單:
android:launchMode=["multiple" | "singleTop" |
"singleTask" | "singleInstance"]
與價值singleTop
,它不會產生一個其他活動但如果存在,則調用潛在活動的onNewIntent方法。
而是完成當前活動的,你爲什麼要使用的onResume()方法來更新與新通知的數據的UI。編寫方法來更新ui組件並從onResume()調用它。
當我點擊通知或在此之前,我的當前活動會暫停嗎? – Ashwin
當您點擊通知時,當前活動正在暫停。並開始活動另一個實例。所以再次調用onResume()。請問我是否在通知中使用任何標誌開始新的活動?最好使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);國旗在開始活動之前。 –
- 1. 點擊通知,然後完成TimerTask?
- 2. 在收到通知時避免當前活動完成
- 3. 活動完成後通知消失
- 4. 當點擊通知時更新活動
- 5. 當點擊通知時恢復活動
- 6. 當通知的點擊,打開活動
- 7. 點擊通知可以轉到當前活動
- 8. Android - 點擊本地通知後在後臺保留活動
- 9. 當用戶點擊來自鎖定屏幕的通知時啓動活動
- 10. 點擊通知未啓動活動
- 11. 點擊通知不啓動活動
- 12. 如何知道點擊通知後是否打開了活動?
- 13. 如何在「添加帳戶」活動完成時得到通知
- 14. 如何在服務完成後通知主要活動?
- 15. Splunk - 完成並刪除當前活動
- 16. 從片段中完成當前活動
- 17. 如何通知服務完成活動?
- 18. 如何通知當前活動從以前的活動
- 19. 打開特定活動時通知在後臺點擊
- 20. 如何在點擊通知後打開特定活動?
- 21. 如何在點擊差異通知後打開同一活動
- 22. 在FCM通知點擊Android後打開活動
- 23. Android - 爲什麼活動在點擊通知後打開?
- 24. 當前活動不關閉(完成)按鈕單擊
- 25. 通知無法執行當前活動
- 26. 無法打開通知點擊活動
- 27. 點擊通知沒有打開活動
- 28. 打開新的活動通知點擊
- 29. 點擊通知開始活動兩次
- 30. 無法啓動活動後點擊android通知
它就像一個魅力! – Ashwin