【问题标题】:Opening Googlemaps App to a Specific Location将 Googlemaps 应用程序打开到特定位置
【发布时间】:2011-09-08 20:36:30
【问题描述】:

我正在尝试使用以下代码将 Gogole 地图打开到特定位置,但是应用程序崩溃并出现错误“未找到处理意图的活动”。谁能看出问题出在哪里?

ImageButton addressbutton = (ImageButton) findViewById(R.id.addressbutton);

        addressbutton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {        
        String uri = "geo:0,0?q=MCNAMARA+TERMINAL+ROMULUS+MI+48174";        
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse(uri));
        startActivity(i); 
        }
    });

【问题讨论】:

  • 我将您的 onClick 代码粘贴到我的一个测试项目中,它运行良好。您的目标是哪个 API?我的测试项目针对的是 Google 1.6(API 级别 4)。
  • Per Tomik 的回答如下,是 Android 2.2 还是 Google 2.2?
  • Android 2.2 - 我不明白其中的区别。

标签: java android eclipse google-maps


【解决方案1】:

代码运行良好。问题是您正在测试代码的设备/模拟器。

如果您使用具有 Google API 目标的 AVD(自 3 起的任何级别),它会按预期工作。但是,如果您使用具有普通 Android 目标(即不支持地图的目标)的 AVD,则会出现错误。

【讨论】:

  • 谢谢 - 所以只能在 Google API 目标上测试地图视图?
  • 要测试地图应用程序,您需要 Google API 部署目标。如果您想在活动布局中使用 MapView 小部件,您还必须将 添加到清单中。
【解决方案2】:

尝试添加这个:

intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

在致电startActivity之前。

HTH

【讨论】:

  • 将错误消息更改为“无法找到 com.google.android 的显式类.....”
【解决方案3】:

试试这个

Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse(uri));

而不是

Intent i = new Intent(Intent.ACTION_VIEW);

【讨论】:

  • 给出构造函数(字符串,字符串)未定义的编译器错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多