从活动向服务发送意图(TileService)

时间:2018-06-11 14:44:16

标签: android android-intent android-activity service binding

我尝试将一个Intent从Activity发送到Service(一个方向),但不知怎的,它不会调用onStartCommand函数。

以下是我的活动代码:

Intent serviceIntent = new Intent(); 
serviceIntent.setClassName("com.xx.pak", "com.xx.pak.MyService.act");
serviceIntent.putExtra("UserChoice", userChoice);
startService(serviceIntent);

以下是我的服务代码:

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        switch (action) {
            case "com.xx.pak.MyService.act":
            userChoice = intent.getIntExtra("UserChoice", 0);
            break;
        default:
            super.onStartCommand(intent, flags, startId);
            break;
        }
        return START_STICKY;
    }

一种可能的解决方案是向manifest添加服务,但它们是两个不同的应用程序,我不确定如何在主清单中包含彼此。

另外,如果发送意图不起作用,我可以考虑使用广播进行通信。我是Android的新手,如果我走的是正确的道路,请告诉我。谢谢。

0 个答案:

没有答案