我的应用程序中有一个意图服务。当我的应用程序启动时,它成功运行服务类并且运行良好(将从蓝牙获得的数据存储在sqlite
数据库中)。意图服务仅适用于我的应用程序,不会被其他应用程序使用。
但是,当应用程序长时间处于非活动状态时,服务有时会停止运行。我希望我的服务能够可靠地运行——这就是我创建服务的原因。我还希望该服务在手机启动时自行启动(它不会这样做)。
当我去settings -> applications -> running services
我的服务没有列出那里。
这是我的清单文件的相关部分:
<service android:enabled="true" android:name=".MyHxMService" android:exported="false">
<intent-filter>
<action
android:name="org.xxxxx.MyHxMService" />
</intent-filter>
</service>
<receiver android:name="MyStartupIntentReceiver">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
这是我的意图服务类声明:
public class MyHxMService extends IntentService {
这是我的MyStartupIntentReceiver:
package com.NewApp;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyStartupIntentReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent();
serviceIntent.setAction("org.xxxxx.MyHxMService");
context.startService(serviceIntent);
}
}