我正在监控传入的短信。
我的应用程序与BroadcastReceiver
。然而,它正在从一个 Activity 中工作,并希望保留BroadcastReceiver
一直运行(不仅仅是当我的活动运行时)。
我怎样才能实现这个目标?我已经查看了BroadcastReceiver
但文档中提到的只是生命周期仅限于onReceive
方法,而不是保留的生命周期BroadcastReceiver
检查传入的短信。
我怎样才能让这种坚持下去呢?
Thanks
你需要定义一个receiver在带有操作名称的清单中android.intent.action.BOOT_COMPLETED.
<!-- Start the Service if applicable on boot -->
<receiver android:name="com.prac.test.ServiceStarter">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
确保还包含完整的启动权限。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
Use Service http://developer.android.com/reference/android/app/Service.html为了让任何事情持续下去。并使用接收器接收启动事件,以便在系统启动时再次重新启动服务。
启动时启动服务的代码。让服务完成您检查短信或任何您想要的工作。你需要做你的工作MyPersistingService
你自己定义它。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class ServiceStarter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent("com.prac.test.MyPersistingService");
i.setClass(context, MyPersistingService.class);
context.startService(i);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)