我试图从我的远程服务运行不同包中的活动: 这就是我实现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 ...
感谢。
答案 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"
。
最佳答案是不显示服务中的活动,因为如果您在使用设备时打断它们,用户会非常恼火。