我有一个应用程序A,它包含活动,服务和接收器。 我需要修改我的代码,以便任何未来的应用程序(例如:B和C)都可以启动位于应用程序A中的服务,并且可能访问其首选项文件。共享应用程序组件
但是,我想限制对应用程序A组件的访问权限,仅限于由我开发的应用程序。
难道有人请指出我在这个正确的方向吗?
谢谢!
我有一个应用程序A,它包含活动,服务和接收器。 我需要修改我的代码,以便任何未来的应用程序(例如:B和C)都可以启动位于应用程序A中的服务,并且可能访问其首选项文件。共享应用程序组件
但是,我想限制对应用程序A组件的访问权限,仅限于由我开发的应用程序。
难道有人请指出我在这个正确的方向吗?
谢谢!
我只是找到了解决办法:使用同一台Android
:在这两个应用程序sharedUserId将尽正是我需要的。
它可以通过组件的权限来完成。
应用程序也可以与 权限保护它自己的组件(活动, 服务,广播接收机和内容提供商)。它可以使用Android (在android.manifest.permission中列出)或其他 应用程序声明的任何权限。或者它可以定义它自己的。一个新的权限被声明为 与元素。
查看this doc的例子。
你需要实现一个[Content Provider](http://developer.android.com/guide/topics/providers/content-provider-basics.html)并添加你喜欢哪些应用程序访问什么的权限。 – 2013-02-19 12:10:41
ContentProviders并不能解决我的问题,我需要共享组件(活动,服务)而不是数据库 – Shatazone 2013-02-19 12:22:13
如果您正在讨论在不同的应用程序中使用相同类的代码,那么您可以创建一个通用库并将其导入作为其他应用程序的外部JAR。 – 2013-02-19 12:25:27