Предположим, что я установил приложение A и приложение B, приложение A имеет основное действие, а приложение B хочет показать эту активность, отправив намерение. Мой вопрос в том, что, как андроид знает, что я установил приложение А и способен отобразить намерение его деятельности? Есть ли какой-либо архив в виде реестра, сохраняющий такую информацию?
Спасибо
Я тоже новичок в 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 спросит пользователя, какую деятельность он должен использовать.
Вот как я понимаю намерения. Если кто-то знает лучше, я буду рад узнать.