我用一个WelcomeActivity做搜索,同时也用WelcomeActivity处理搜索结果,在public void onNewIntent(Intent intent)处理搜索。但如果我长按Home键,跳到另外一个应用程序,再次长按Home键,回到当前应用。最先调用的也是onNewIntent,然后才是onrestart,onstart。并且调用onNewIntent的intent也是搜索的action,里面的内容竟然一样.代码如下:
@Override
public void onNewIntent(Intent intent)
{
super.onNewIntent(intent); if(null == intent)
return;
String queryAction = intent.getAction();
if (Intent.ACTION_SEARCH.equals(queryAction))
{
Bundle appData = intent.getBundleExtra(SearchManager.APP_DATA);
String searchKey = this.getString(R.string.search_key);
String key = appData.getString(searchKey);
if(!searchKey.equals(key))
return; //处理搜索
xxxxxxxxxxxxxxxx
}
}谁知道怎么处理这种请情况,怎么区分是查找,还是其他应用长按home键跳过来的,
如果是2个activity处理,那倒是可以避免。但如果一个activity处理搜索,怎么弄。
@Override
public void onNewIntent(Intent intent)
{
super.onNewIntent(intent); if(null == intent)
return;
String queryAction = intent.getAction();
if (Intent.ACTION_SEARCH.equals(queryAction))
{
Bundle appData = intent.getBundleExtra(SearchManager.APP_DATA);
String searchKey = this.getString(R.string.search_key);
String key = appData.getString(searchKey);
if(!searchKey.equals(key))
return; //处理搜索
xxxxxxxxxxxxxxxx
}
}谁知道怎么处理这种请情况,怎么区分是查找,还是其他应用长按home键跳过来的,
如果是2个activity处理,那倒是可以避免。但如果一个activity处理搜索,怎么弄。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货