[英]Redirect user to Google Maps Android application to show a direction
[英]Android application to detect when Google maps direction is finished
我正在构建一个Android应用程序,该应用程序将在Google地图上显示某些点,对于我所有显示的点,我都有(lat,lang)。 每当用户单击Google地图上的这些位置之一时,我就会启动一个新的Google Maps意图,该意图向用户显示导航,并应将用户带到该位置(经纬度)。
//suppose this function is called on onclick of google maps event
function onclick(){
Uri gmmIntentUri = Uri.parse("google.navigation:q=32.885240,-96.763475");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
}
这将为用户启动导航。 现在我想要实现的是-每当导航完成时,我都希望将某种标志传递给我的android应用程序,以便我的应用程序知道导航已完成。
如果可以在导航完成后自动关闭google maps应用程序,那就太好了。
如@Daniel所述,您可以使用onActivityResult()
来检测用户何时返回。 但是,如果您真的想检测Google地图的导航方向是否已完成,则可以查看通知。
因此,这里的问题是,当Google Maps Direction是一种服务并且正在运行时,它将更新发布到通知中心。
这意味着您可以继续查看正在运行的服务,或者..获得通知中心的许可并继续检查Google Maps是否存在。
我认为一个更好的答案是,您建立了导航意图并有了坐标,就是为目的地或旅途中想要的任何里程碑设置地理围栏。 之后,您可以使用IntentService在适当的活动中检索您的应用程序。
https://developer.android.com/training/location/geofencing#java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.