Android 设备引导完成后启动服务
我正在做一个应用程序,在这个应用程序中,我想在设备启动完成时拨打一个号码。我的代码如下:Android 设备引导完成后启动服务,android,service,broadcastreceiver,Android,Service,Broadcastreceiver,我正在做一个应用程序,在这个应用程序中,我想在设备启动完成时拨打一个号码。我的代码如下: @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub System.out.println("**inside onRecevier"); Intent serviceIntent = new Inte
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("**inside onRecevier");
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.test.app.TestService");
context.startService(serviceIntent);
}
首先,我创建了广播接收器。我在清单文件中注册了此收件人,如下所示:
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
当我在启动应用程序后尝试启动设备时,强制关闭。如何在android中做到这一点??
Thanx提前将您的onReceive更改为此
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("**inside onRecevier");
Intent serviceIntent = new Intent(context, TestService.class);
context.startService(serviceIntent);
}
有各种各样的原因可以让你接近原力。判断哪一个的最好方法是查看日志。它应该准确地告诉您引发了什么异常,并提示您如何解决问题。在从服务启动活动之前,您需要添加新的任务标志:
Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:+5555"));
call.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(call);
说明:
请注意,如果此方法是从活动外部调用的
上下文,则意图必须包括标志\u活动\u新任务
发射旗。这是因为,没有从现有的
活动,则没有要放置新活动的现有任务
因此,它需要被置于自己的独立任务中
此外,您必须拥有以下权限:
onReceive
开始服务,例如:
Intent serviceIntent = new Intent(context, TestService.class);
context.startService(serviceIntent);
确保你已经完成了我所说的所有工作,如果你仍然有问题,那么如果你编辑你的问题并从强制关闭中粘贴日志将很有帮助。请发布异常的描述和stacktrace。这不是真正的答案,更应该作为对问题的评论发布。
Intent serviceIntent = new Intent(context, TestService.class);
context.startService(serviceIntent);