Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中声明一个服务(私有) 如何创建私有服务?我是说我的 其他应用程序不应访问自定义服务?什么 我应该在AndroidManifest.xml中定义的参数_Android_Service_Android Manifest - Fatal编程技术网

在android中声明一个服务(私有) 如何创建私有服务?我是说我的 其他应用程序不应访问自定义服务?什么 我应该在AndroidManifest.xml中定义的参数

在android中声明一个服务(私有) 如何创建私有服务?我是说我的 其他应用程序不应访问自定义服务?什么 我应该在AndroidManifest.xml中定义的参数,android,service,android-manifest,Android,Service,Android Manifest,只是不包括。然后,您的服务将只能由应用程序中的组件访问。您可以使用明确的意图与之交互(例如,新意图(这个,MyPrivateService.class))。正如Commonware所说的,这是一个很好的答案。您也可以在menifest中这样做: android:exported="false" @AownRaza:除了在服务的清单文件中没有之外,不需要任何其他内容。没有会自动设置android:exported=“false”,这会阻止第三方应用访问您的服务。虽然您可以有一个并设置androi

只是不包括
。然后,您的服务将只能由应用程序中的组件访问。您可以使用明确的
意图
与之交互(例如,
新意图(这个,MyPrivateService.class)
)。

正如Commonware所说的,这是一个很好的答案。您也可以在menifest中这样做:

android:exported="false"

@AownRaza:除了在服务的清单文件中没有
之外,不需要任何其他内容。没有
会自动设置
android:exported=“false”
,这会阻止第三方应用访问您的服务。虽然您可以有一个
并设置
android:exported=“false”
,但没有充分的理由这样做。确实,您节省了我的时间,非常感谢:)没有更好的解决方案,而不是在清单中设置此属性。@AownRaza ok,为什么?你能解释一下你是否有时间吗?刚刚学到:p,没有自动将android:导出为“false”。@AownRaza那么你不能说这是个坏主意,这取决于要求。如果你想要一个意向过滤器,你必须选择我的选项,否则Commonware是对的。首先接受他的答案。从文档中,“通过包含android:exported属性并将其设置为false,您可以确保您的服务仅对您的应用程序可用。这有效地阻止了其他应用启动您的服务,即使在使用明确的意图时也是如此。”