启动谷歌地图,但随着活动重新返回
问题描述:
在我的应用程序,我推出谷歌地图从片段如下:启动谷歌地图,但随着活动重新返回
mBtnMap.setOnClickListener(new View.OnClickListener() {
...
String uri = String.format(locale, "geo:%f,%f", latitude, longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
getActivity().startActivity(intent);
...
当我按下后退按钮,我的应用程序的简历,但活动将重新启动。我希望它回到调用Google Map startActivity()的片段。
我做了一些不寻常的事情,让活动重新启动?
如何达到我的目的?
答
查找解决
try{
String uri = String.format(locale, "geo:%f,%f", latitude, longitude);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
}catch(Exception e){
// ActivityNotFoundException
}
+0
这与OP的原始代码有什么不同?你在这里做了什么不同? –
做u加 “机器人:launchMode =” 在年manidest文件singleTop “”? –
将一些日志记录添加到您的Activity中,特别是onCreate(),onResume()和onDestroy(),并查看哪些生命周期方法实际上被调用以及何时。你所描述的行为是奇怪的,并且是非标准的。这可能是因为设备内存不足,需要杀死您的应用程序才能启动Google地图过程。在这种情况下,你的'活动'将会重新开始。但添加日志记录并检查是否真的发生了什么。 –
没有其他建议适用于我,我会稍后尝试您的建议。现在,我通过简单地使用startActivityResult来启动Google Map活动来解决问题。不知道为什么...但现在解决它。如果您有任何理论,请分享。 – Sean