0

我有一个非常简单的测试代码,我正在尝试从我的 android 应用程序启动 Google Maps 应用程序。

以下是我正在尝试的代码。

final Button button = (Button) findViewById(R.id.buttonGMaps);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Uri uri = Uri.parse("geo:50.08818,14.42021?z=11"); 
                Intent gmapsIntent = new Intent(Intent.ACTION_VIEW, uri);
                PackageManager packageManager = getPackageManager();
                List<ResolveInfo> activities = packageManager.queryIntentActivities(gmapsIntent, 0);
                boolean isIntentSafe = activities.size() > 0;
                if(isIntentSafe)
                    startActivity(gmapsIntent);

            }

问题是,每当我从模拟器调试或运行此代码时,都无法通过 queryIntentActivities 找到意图。

我在这里想念什么?Uri 对象似乎没问题,并且意图本身已正确创建,但包管理器无法在意图活动中找到它。

我是否可以从执行此代码的主要活动中启动此意图?

4

2 回答 2

2

我在这里想念什么?

谷歌地图。您的模拟器可能没有它们。您需要创建一个具有“Google APIs”版本的 Android 的模拟器 AVD。

于 2013-03-05T19:33:58.290 回答
0

看看这个shared-library-missing-in-android我认为这是同一个问题(与 CommonsWare 相同的解决方案)

于 2013-03-05T19:41:52.097 回答