假设我安装了应用程序A和应用程序B,应用程序A有一个主要活动,而应用程序B要通过发送一个意图来显示该活动。我的问题是,Android如何知道我已经安装了应用程序A并能够将意图映射到其活动?是否有类似Windows注册表的商店保存此类信息?

谢谢

最佳答案

我也是android的新手。这就是我对Intent的理解:

查看您的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>


当您安装应用程序时,这些活动/服务/等会被Android所了解。
您告诉Android,您可以为“ at.MyApp.Settings.action.EDIT_TITLE”提供活动
如果开始活动,则将创建一个意图:

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


任何人都可以尝试启动这样的活动/服务/等等。

如果两个应用程序能够为某个意图提供某些功能,则Android将询问用户应使用的活动。

这就是我理解意图的方式。如果有人知道的更好,我会很高兴学习。

10-05 21:14
查看更多