Arhn - архитектура программирования

Как программно открыть приложение Amazon в PlayStore?

Я пытаюсь программно открыть приложение Amazon, и если оно не найдено в телефоне, пользователю предлагается установить его из игрового магазина, но проблема в том, что когда я пытаюсь открыть его в игровом магазине, он показывает ошибку Item not found .

Вот мой код:

public void openApp(final String packageName, final String appName) {
        Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(packageName);
         if (intent != null) {
             startActivity(intent);
         } else {
             AlertDialog.Builder builder;
             builder = new AlertDialog.Builder(MainActivity.this);
             builder.setMessage(appName + " not found. Would you like to install " + appName + " from play store?")
                     .setPositiveButton("YES", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) {
                             try {
                                 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));
                             } catch (android.content.ActivityNotFoundException anfe) {
                                 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName)));
                             }
                         }
                     })
                     .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) {

                         }
                     })
                     .show();
         }
    }

где packageName равно in.amazon.mShop.android.shopping, а appName равно Amazon.

У меня есть имя пакета из ссылки приложения в магазине приложений, т. е. https://play.google.com/store/apps/details?id=in.amazon.mShop.android.shopping&hl=en

Что здесь происходит и как я могу успешно открыть приложение Amazon в магазине игр, если оно не найдено на устройстве?


  • Я только что проверил ваш код, и он отлично загружает приложение Amazon в магазине Play для меня. Вы уверены, что передаете то же имя пакета, которое вы разместили здесь? то есть в.amazon.mShop.android.shopping?. Пожалуйста, убедитесь, что там нет опечатки. 07.09.2017
  • @ sam_0829 еще одна моя глупая ошибка. Спасибо! 07.09.2017

Ответы:


1
 private boolean appInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
        }

        return false;
    }

используйте этот метод, чтобы найти приложение, установленное или нет, а затем

логическое значение isAppInstalled = appInstalledOrNot("com.check.application");

    if(isAppInstalled) {
        //This intent will help you to launch if the package is already installed
        Intent LaunchIntent = getPackageManager()
            .getLaunchIntentForPackage("com.check.application");
        startActivity(LaunchIntent);

        Log.i("Application is already installed.");       
    } else {
        // Do whatever we want to do if application not installed
        // For example, Redirect to play store

        Log.i("Application is not currently installed.");
    }
07.09.2017
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..