2012-05-25 140 views
0

我有一个基于谷歌地图的应用程序,其中我使用意图打开路线规划器。但是,当应用程序启动时,它会提示用户使用默认浏览器和地图的对话框。但是,我希望在应用程序启动时,默认情况下它应该在地图中打开。下面我张贴我的代码。默认情况下打开地图

public class RoutePlannerActivity extends MapActivity { 
public static final String TAG = "Route planner"; 
MapView mapView; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mapView = (MapView)findViewById(R.id.mapView); 
    mapView.setBuiltInZoomControls(true); 
    Log.d(TAG, "onCreate"); 
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
      Uri.parse("http://maps.google.com/maps?saddr=28.6667,77.2167&daddr=28.5700,77.3200")); 
    startActivity(intent); 
}//onCreate 

protected boolean isRouteDisplayed() { 
    Log.d(TAG, "Route displayed"); 
    return true; 
}//isRouteDisplayed 
}//class 

回答

2

如果你想摆脱对话框,你可以给出意图暗示你想要使用哪个包。在startActivity()之前添加这个:
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
Credits to this previous post。我建议在发布前进行搜索。

+0

+1回答的最后一行.. –

+0

@Urban,谢谢...它的工作。 – Nitish

1

尝试摆脱对话的这个代码..

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?" + "saddr=23.0286423,72.5580967&daddr=23.0559485,72.5423041")); 
     intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity"); 
     startActivity(intent);