启动谷歌地图,但随着活动重新返回

问题描述:

在我的应用程序,我推出谷歌地图从片段如下:启动谷歌地图,但随着活动重新返回

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()的片段。

我做了一些不寻常的事情,让活动重新启动?
如何达到我的目的?

+0

做u加 “机器人:launchMode =” 在年manidest文件singleTop “”? –

+0

将一些日志记录添加到您的Activity中,特别是onCreate(),onResume()和onDestroy(),并查看哪些生命周期方法实际上被调用以及何时。你所描述的行为是奇怪的,并且是非标准的。这可能是因为设备内存不足,需要杀死您的应用程序才能启动Google地图过程。在这种情况下,你的'活动'将会重新开始。但添加日志记录并检查是否真的发生了什么。 –

+0

没有其他建议适用于我,我会稍后尝试您的建议。现在,我通过简单地使用startActivityResult来启动Google Map活动来解决问题。不知道为什么...但现在解决它。如果您有任何理论,请分享。 – Sean

查找解决

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的原始代码有什么不同?你在这里做了什么不同? –