Как Android может найти определенную деятельность или услугу на основе данного намерения?

1

Предположим, что я установил приложение A и приложение B, приложение A имеет основное действие, а приложение B хочет показать эту активность, отправив намерение. Мой вопрос в том, что, как андроид знает, что я установил приложение А и способен отобразить намерение его деятельности? Есть ли какой-либо архив в виде реестра, сохраняющий такую ​​информацию?

Спасибо

Теги:

1 ответ

1

Я тоже новичок в android. Вот как я понимаю намерения:

Посмотрите на свой AndroidManifest.xml. Там вы определяете действия и фильтры намерений:

<activity android:name=".Settings.SettingsView"
        android:label="@string/settings">
    <intent-filter>
        <action android:name="at.MyApp.Settings.action.EDIT_TITLE" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

Когда вы устанавливаете свое приложение, эти действия/службы/etc узнают Android. Вы сообщаете Android, что вы можете обеспечить активность для "at.MyApp.Settings.action.EDIT_TITLE" Если вы начнете действие, вы создадите намерение:

startActivity(new Intent("at.MyApp.Settings.action.EDIT_TITLE"));

Любой может попытаться запустить такую ​​деятельность/службу/etc, чтобы бросить намерение.

Если два приложения могут предоставить некоторые функциональные возможности для намерения, Android спросит пользователя, какую деятельность он должен использовать.

Вот как я понимаю намерения. Если кто-то знает лучше, я буду рад узнать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню