直接在按钮上打开StreetView应用程序 - android

时间:2018-03-14 11:06:28

标签: android google-street-view google-streetview-publish

我想直接从我的应用中打开Goog​​le街景Android。 任何人都可以帮我这样做吗?

我已成功使用Streeview打开地图应用程序,感谢SO,但这不是我想要的。

我实际上想直接从我的应用程序打开Streetview相机,所以我可以拍一张全景照片。

我的实际任务是开发一个可以拍摄全景图像的相机应用程序,但我找不到任何东西,所以我正在做的事情可以做而不是像纸板一样的相机应用程序。 以下是我之前问过的问题的链接 - App to capture 360 View android

请帮忙!

2 个答案:

答案 0 :(得分:1)

您可以通过PackageManager课程获得启动意图:

PackageManager pm = context.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage("com.google.android.street");
context.startActivity(launchIntent);

请注意,如果找不到包,getLaunchIntentForPackage将返回null。 所以你可能想要添加一个空检查:

if (launchIntent != null) {
        context.startActivity(launchIntent);
    } else {
        Toast.makeText(context, "StreetView not Installed", Toast.LENGTH_SHORT).show();
        launchPlayStore(mContext,com.google.android.street);
    }

您可以使用以下代码导航他通过Play商店

安装StreetView应用程序
public void launchPlayStore(Context context, String packageName) {
    Intent intent = null;
    try {
            intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse("market://details?id=" + packageName));
            context.startActivity(intent);
        } catch (android.content.ActivityNotFoundException anfe) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName)));
        }
    }

您还可以打开街景相机,使用以下代码点击我的应用中的全景图像

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.google.android.street", "com.google.android.street.CameraActivity")); 
//provided you should know the camera activity name 
startActivity(intent);

此外,您可能需要将android:exported="true"添加到您要调用上述代码的活动manifest

答案 1 :(得分:1)

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.google.android.street"));
context.startActivity(intent);

@Rajat您可以使用上述代码将用户重定向到Google Street View播放商店页面。