андроид: как я открываю другое приложение из своего приложения?

Я понимаю, как использовать намерения и startActivity () при открытии другого действия в рамках моего собственного приложения, но как Вы запускаете другое приложение? конкретно:

  • Как Вы определяете, установили ли пользователю необходимое приложение на их устройстве?
  • Как Вы запускаете то приложение?
  • Как Вы передаете параметры тому приложению?
  • Как Вы узнаете, вся эта информация для определенного приложения (скажите что читатель Adobe или карты Google)?
22
задан Chintan Khetiya 11 November 2013 в 09:19
поделиться

2 ответа

Как узнать, доступно ли намерение:

  1. Попробуйте вызвать намерение и обработайте ActivityNotFoundException , если оно недоступно

     Намерение намерения = новое намерение (намерение .ACTION_VIEW);
    intent.setDataAndType (путь, «приложение / pdf»);
    intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);
    пытаться {
    startActivity (намерение);
    }
    catch (ActivityNotFoundException e) {
    Toast.makeText (OpenPdf.this,
     "Нет приложения для просмотра PDF",
    Toast.LENGTH_SHORT) .show ();
    }
    

    или

  2. Запросите диспетчер пакетов , чтобы узнать, опережает ли он время:

     PackageManager packageManager = getPackageManager ();
    Намерение намерения = новое намерение (Intent.ACTION_VIEW);
    intent.setType ("приложение / PDF");
    Список list = packageManager.queryIntentActivities (намерение,
    PackageManager.MATCH_DEFAULT_ONLY);
    if (list.size ()> 0) {
    intent.setDataAndType (путь, «приложение / pdf»);
    startActivity (намерение);
    }
    

Как передать параметры приложению или узнать его возможности:

  1. Список доступных намерений для приложений Google
  2. Список намерений сторонних разработчиков @ OpenIntents
32
ответ дан 29 November 2019 в 05:10
поделиться

Что вы ищете, так это намерения и фильтры намерений.

Все, что вам нужно знать, подробно описано в руководстве для разработчиков Android.

http://developer.android.com/guide/topics/intents/intents-filters.html

1
ответ дан 29 November 2019 в 05:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: