2012-08-29 30 views
0

我遇到了恢復/暫停應用程序的問題。現在,假設我們有一個我重寫onBackPressed()方法,並重新定義該方法如下活動:恢復應用程序而不會丟失上次活動,而Intent.ACTION_SEND

@Override 
public void onBackPressed() { 
    moveTaskToBack(true); 
} 

因此,它在後臺運行,沒有任何問題。所以,要恢復我的申請,我宣佈繼onResume()覆蓋方法代碼:

@Override 
protected void onResume() { 
    Intent resume = new Intent(this, MainActivity.class); 
    if ((resume.getFlags() & Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) != 0) { 
     resume.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     Logger.e(M_tag, "Resume Activity"); 
     startActivity(resume); 
     return; 
    } 

    super.onResume(); 
} 

最小化過程後,我可以成功地恢復活動,但我面對它的問題是,當我長按在Internet Browser,並與我的應用程序共享鏈接的鏈接,它恢復了活動,但不運行的情況

if (getIntent().getAction().equals(Intent.ACTION_SEND)) 

我在onCreate()覆蓋方法定義,象下面這樣:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    if (getIntent().getAction.equals(Intent.ACTION_SEND)) 
     Log.e("App", "In action send mode"); 
} 

我測試過Intent.ACTION_SEND而後臺沒有進程,它成功運行了這個條件,但是現在,我該如何強制我的應用程序運行ACTION_SEND intent?

在此先感謝。

回答

2

如果你沒有得到一個新的意圖OnCreate你會得到OnNewIntent

用這種方法再次處理意圖。

+0

謝謝你的回答,我會測試它並回復你的結果:) –

+0

你的回答對我來說是可以接受的,它工作的很公正。非常感謝你 :) –

相關問題