gpt4 book ai didi

android - IntentService 不是从 BroadcastReceiver 开始的

转载 作者:搜寻专家 更新时间:2023-11-01 09:11:09 25 4
gpt4 key购买 nike

我正在尝试从 BroadcastReceiver 启动 IntentService,例如(在 onReceive(Context context, Intent intent) 函数中):

            Intent i = new Intent(context, RegService.class);
i.putExtra("user_id", userId);
i.putExtra("device_id", "bla");
context.startService(i);

和RegService一样

public class RegService extends IntentService {

public RegService(String name) {
super(name);
}

public RegService(){
super("RegService");
}



@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
String c2dm_registration_id = intent
.getStringExtra("c2dm_registration_id");
String token = intent.getStringExtra("token");
String userId = intent.getStringExtra("user_id");
String device_type = "android";
try {

JSONObject object = RestClient.sendC2DMRegistrationId(
c2dm_registration_id, device_type,
token, userId);
} catch (Exception e) {
e.printStackTrace();
}
}

}

但我无法在 RegService 中进入 onHandle(我通过了第一个代码 context.startService(i); 但我无法进入 onHandle,没有消息)。有没有人有同样的经验,什么是解决方案?我有 list

<service
android:enabled="true"
android:name=".c2dm.RegService" />

最佳答案

当我的 IntentService 在 list 中只用它的类名声明时,我就无法从广播接收器调用它。然后我给出了全名,如:

<service  android:name="com.abc.def.services.DummyService" />

这成功了,我能够从广播接收器中调用这个 IntentService。

关于android - IntentService 不是从 BroadcastReceiver 开始的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245396/

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