Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android:一個Open鍵引發的問題!!

android:一個Open鍵引發的問題!!

編輯:關於Android編程

1.問題簡介

首先描述一下問題,當我們安裝完APP的時候,界面會顯示兩個按鈕,一個完成鍵,一個Open鍵,點擊Open鍵之後,進入應用。此時,我們點擊HOME鍵,程序將會後台。然後再點擊該桌面上應用程序的圖標,巨大的BUG出現了:app會重新啟動!而不是將原來的界面onresume!如果你的應用對多次啟動不敏感,這道沒什麼,但是,如果你的應用對多次啟動很敏感,你就必須做處理了。

2.解決方案

首先分析問題成因,在android目前的系統下(最新的為4.4.3),點擊Open鍵和點擊圖標啟動時,Intent的參數傳遞的不一樣,activity的啟動方式不同,導致上述問題的產生。但是,由於啟動參數由系統設定,我們不好改變。那我們的思路就有兩個:

1.第二次啟動的時候,把第一次啟動的殺掉

2.第二次啟動的時候,將第一次啟動的Activity喚醒,第二次啟動關閉。

一般我們選擇第二種,因此,我們就有了如下思路:

1.在啟動第一個Activity的時候,判斷啟動方式是不是從點擊OPEN鍵啟動的.

2.在需要喚醒的activity中注冊BroadcastReceiver,接收到廣播之後,調用自己的onResume方法。

第一個Activity的onCreate方法中添加的代碼如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
        // 在這裡發送廣播,喚醒之前啟動的Activity
        finish();
        return;
    }

    // Regular activity creation code...
}


問題得到完美解決。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved