gpt4 book ai didi

android - 在 Android 平台添加服务

转载 作者:行者123 更新时间:2023-11-30 00:29:12 24 4
gpt4 key购买 nike

我正在尝试提供服务(一直运行)。该服务还需要一些 C/C++ JNI 代码来访问(获取信息)平台中的其他一些组件,并且还需要访问 HAL。我们还需要存储数据(在某种存储数据库、文件等中)。我们有一些其他应用程序需要从该服务访问这些数据。以象征性的方式,这就是我的目标

Android App -> System Service -> JNI (native) library -> HAL/DeviceDriver.

我的问题:

  1. Can we do this as a regular Android Service (the way all downloadable app/services are written) or it must be included in System Services?
  2. How can I make sure my service is alive all the time and starts on boot-up or platform up?
  3. If it has to be in System services how to do that? Can downloadable apps access this System service?

最佳答案

1 - 如果您只需要访问此服务生成的数据,您可以将您的服务作为 Android 服务来提供

2 - 你需要在你的 maifest 中注册一个 BOOT_RECEIVER 广播,然后在你广播的 onReceive 中,你开始你的服务,像这样:

list :

     <receiver
android:name="YOUR.PACKAGE.BootBroadcast"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

引导广播:

public class BootBroadcast extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
// start your service

}
}


}

3 - 不知道答案

关于android - 在 Android 平台添加服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44766692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com