从远程服务运行活动

时间:2010-04-29 08:54:10

标签: android

我试图从我的远程服务运行不同包中的活动: 这就是我实现service.java的方式

  public class CurrencyService extends Service
  {
    public class CurrencyServiceImpl extends ICurrencyService.Stub
    {

    int CALL_PUSH_SERVICE_ACTIVITY=10;


    @Override
    public void callSomeActivity(int activityId) throws RemoteException
    {
            Intent pushActivity=new Intent("com.pushservice.PushActivity");
            pushActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            startActivity(pushActivity);
     }
     .....

}

我还在服务清单中添加了一行:

该服务运作良好,但我无法运行该活动 - > PushActivity是不同应用程序的不同包, 这是错误:

未找到活动异常:找不到处理Intent的活动{act = com.pushservice.PushServiceActivity flq = 0x10 ...

感谢。

2 个答案:

答案 0 :(得分:2)

您不应该从服务中调用启动活动。来自Android developers best practice

  

而不是生成活动UI   直接来自后台,你   应该改为使用   要设置的NotificationManager   通知。这些将出现在   状态栏,然后用户可以   在他闲暇时点击他们,看看   你的申请必须告诉他什么。

答案 1 :(得分:1)

您正在尝试打开Activity intent-filter action "com.pushservice.PushActivity"的{​​{1}}。您没有Activity intent-filter action "com.pushservice.PushActivity"

最佳答案是不显示服务中的活动,因为如果您在使用设备时打断它们,用户会非常恼火。