2014-03-12 42 views
1

每當我可能離開我的應用程序時,我需要調用另一個應用程序的意向。這意味着,每次我(重新開始)我MainActivity我需要調用這個意圖在onResumeonResume中的調用意圖導致無限遞歸

Intent intent = new Intent(); 
intent.setData(Uri.parse("protocol://mycall.stuff")); 
intent.setAction("protocol.GET"); 
startActivityForResult(intent, 1); 

的問題是,這個意圖導致onActivityResult這似乎當它這樣做等再次打電話onResume

我試過在我的onActivityResult之後使用finish(),就像它在其他一些帖子中提到的那樣,但之後我的活動很順利完成。

任何想法?

謝謝!

+0

'我需要調用這個意圖在onResume' - 你不能叫它的onStop?或者,甚至更好,在onDestroy。 –

回答

2

使用boolean處理如下這種情況... ...

boolean done = false; 

@Override 
protected void onResume() { 

    super.onResume(); 

    if (!done) { 

     Intent intent = new Intent(); 
     intent.setData(Uri.parse("protocol://mycall.stuff")); 
     intent.setAction("protocol.GET"); 
     startActivityForResult(intent, 1); 

     done = true; 

    } 

} 
0

Android在其生命週期中具有onResume狀態,因此在創建活動時無法阻止調用onResume。你可以做的是通過一個標誌來控制它,以防止通過if(flag)return來調用onResume中的任務;

相關問題