Android 我得到;未知服务启动结果“;多意图错误
我正试图用活动发送的意图调用服务的某些功能 这是我从活动(在UI线程中)发送意图的方式: 这就是我的onStartCommand在MyService中的样子:Android 我得到;未知服务启动结果“;多意图错误,android,service,android-intent,Android,Service,Android Intent,我正试图用活动发送的意图调用服务的某些功能 这是我从活动(在UI线程中)发送意图的方式: 这就是我的onStartCommand在MyService中的样子: @Override public int onStartCommand (Intent intent, int flags, int startId){ super.onStartCommand(intent, flags, startId); if(intent.getAction().eq
@Override
public int onStartCommand (Intent intent, int flags, int startId){
super.onStartCommand(intent, flags, startId);
if(intent.getAction().equals(INTENT_ACTIVITY_START)){
Toast.makeText(this,"onStartCommand ...", Toast.LENGTH_SHORT).show();
}else if(intent.getAction().equals(INTENT_ACTIVITY_POSITION_CHANGED)){
// here comes some code to get extras from intent
Log.d("INTENT_ACTIVITY_POSITION_CHANGED", "x=" + posX + " y=" + posY);
//TODO preveri
}
return startId;
}
打了几次电话后,我得到:
ERROR/ActivityManager(52): java.lang.IllegalArgumentException: Unknown service start result: 4
为什么会出现这个错误?有什么想法吗?你为什么认为你应该返回startId?onStartCommand()的文档如下 意向提供给startService的意向(意向),如给定。这 如果服务正在运行,则可能为null 进程结束后重新启动 他离开了,它以前也回来过 除了 启动粘性兼容性 标记有关此启动请求的附加数据。当前为0, 启动\u标志\u重新交付,或 开始\标记\重试 startId表示此特定请求的唯一整数 开始与stopSelfResult(int)一起使用。 返回
* The return value indicates what semantics the system should use for
服务的当前启动状态。
它可能是常数之一
与
开始\u延续\u掩码位
因此,您需要返回START_STICKY,或者是中的一个值,为什么您认为应该返回
startId
?onStartCommand()的文档如下
意向提供给startService的意向(意向),如给定。这
如果服务正在运行,则可能为null
进程结束后重新启动
他离开了,它以前也回来过
除了
启动粘性兼容性
标记有关此启动请求的附加数据。当前为0,
启动\u标志\u重新交付,或
开始\标记\重试
startId表示此特定请求的唯一整数
开始与stopSelfResult(int)一起使用。
返回
* The return value indicates what semantics the system should use for
服务的当前启动状态。
它可能是常数之一
与
开始\u延续\u掩码位
因此,您需要返回START_STICKY或Hehe中的一个值。谢谢您的快速回答。我仍然在了解android,错误的返回值对我来说并不明显。不用担心。我听起来像个傻瓜,但这不是针对个人的。谢谢你的快速回答。我仍然在了解android,错误的返回值对我来说并不明显。不用担心。我听起来像个傻瓜,但这不是针对个人的