如果Service等的AndroidManifest声明为android:exported=“false”
则该服务不能够跨进程使用。
Permission Denied!
需要改为:android:exported=“true”
android:exported
这个属性用于指示该服务能够被其他应用程序组件调用或跟它交互。如果为true则表示能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或者带有相同用户ID的应用程序才能启动或绑定该服务。
他的默认值依赖于该服务所包含的过滤器。
没有过滤器意味着该服务只能通过明确的类名来调用,这样就是说明该服务只能在应用程序的内部使用(因为外部使用者不会知道该服务的类名),这种情况下,这个属性默认值为false。
另一方面,如果至少包含一个过滤器,则意味着该服务可以给外部的其他应用提供服务,因此默认值为true。
这个属性不是限制把服务暴露给其他应用程序的唯一方法。还可以使用权限来限制与该服务交互的外部实体。
网友评论