2010-08-26 78 views
5

我已经编写了Android应用程序和我在Android Market上传的生成的.APK文件。因此,用户可以下载该apk并安装到他的设备中。如果他通过Intent从其他应用程序调用,我可以如何限制我的apk启动。这意味着我的应用程序不应该响应来自其他外部应用程序的任何意图。Android应用程序不应该在接收时启动意向

是否有任何可能的方式来限制我的应用程序从其他应用程序的意图启动? 我会等待回复。 由于事先

回答

3

尝试设置机器人:出口=“假”在AndroidManifest.xml中

,从活动元素描述的已定义的所有活动:

安卓出口无论该活动可以由其他应用程序的组件启动 - 如果可以则为“真”,否则为“假”。如果为“false”,则该活动只能由相同应用程序的组件或具有相同用户标识的应用程序启动。 默认值取决于活动是否包含意图过滤器。没有任何过滤器意味着该活动只能通过指定其确切的类名称来调用。这意味着该活动仅用于应用程序内部使用(因为其他人不知道类名)。所以在这种情况下,默认值是“false”。另一方面,至少存在一个过滤器意味着该活动是为外部使用的,所以默认值为“true”。此属性不是限制活动暴露于其他应用程序的唯一方式。您还可以使用权限来限制可以调用该活动的外部实体(请参阅权限属性)。

此处还有关于应用权限的好段落https://developer.android.com/training/articles/security-tips.html我想你可以使用它来限制对你的应用的访问。

+2

除了这样做将意味着主屏幕将无法启动应用程序。 – CommonsWare 2010-08-26 11:46:21

+0

是的,如果我保持android:导出为真,主屏幕无法启动应用程序。那么我应该如何继续达到我的要求? 在此先感谢 – 2010-08-26 11:48:48

+0

阅读权限,看起来是更正确的方式。 – 2010-08-26 13:00:08