我得到了“未知的服务开始结果””多个意图的错误

我正在尝试使用从我的活动发送的意图来调用我的服务的某些功能。 这是我从活动发送意图的方式(在UI线程中):
Intent it = new Intent(MyService.INTENT_ACTIVITY_POSITION_CHANGED);
it.setClass(getApplicationContext(), MyService.class);
it.putExtra("posPercentX", x);
it.putExtra("posPercentY", y);
startService(it);
这就是myStartCommand在MyService中的样子:
    @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()的文档是   intent提供给startService(Intent)的Intent,如给定的那样。这个   如果服务正在,则可以为null   在其进程消失后重新启动   离开了,之前已经回来了   什么以外的   START_STICKY_COMPATIBILITY。      flags有关此启动请求的其他数据。目前要么0,   START_FLAG_REDELIVERY,或   START_FLAG_RETRY。      startId表示此特定请求的唯一整数   开始。与stopSelfResult(int)一起使用。   返回
* The return value indicates what semantics the system should use for
     服务的当前启动状态。   它可能是常数之一   与...相关联   START_CONTINUATION_MASK位 因此,您需要返回START_STICKY或http://developer.android.com/reference/android/app/Service.html#START_CONTINUATION_MASK中的一个值     

要回复问题请先登录注册