Открывайте StreetView App прямо по нажатию кнопки - Android

Я хочу открыть Google Street View Android прямо из моего приложения. Может ли кто-нибудь помочь мне в этом?

Я успешно открыл приложение Maps с Streeview благодаря SO, но это не то, что я ищу.

Я на самом деле хочу открыть Streetview камеру прямо из моего приложения, чтобы я мог сделать панорамный снимок.

Моя настоящая задача - разработать приложение для камеры, которое может снимать панорамные изображения, но я ничего не мог для этого найти, поэтому я работаю над тем, что можно сделать вместо приложения для камеры, такого как картон. Вот ссылка на вопрос, который я задавал ранее - приложение для захвата 360 View android

Пожалуйста, помогите в этом!

2 ответа

Решение

Вы можете получить намерение запуска через PackageManager учебный класс:

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

Обратите внимание, что getLaunchIntentForPackage возвращает ноль, если пакет не найден. Так что вы можете добавить нулевую проверку:

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

Вы можете использовать приведенный ниже код для навигации по нему, чтобы установить приложение 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)));
        }
    }

Вы также можете открыть камеру Streetview для нажатия на панорамное изображение из моего приложения с помощью следующего кода

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 из которого вы вызываете вышеуказанный код.

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 страница магазина игр.

Другие вопросы по тегам