2012-08-29 31 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

你的回答对我来说是可以接受的,它工作的很公正。非常感谢你 :) –

相关问题