3 回答
TA贡献1871条经验 获得超8个赞
android.app.Service是的后代,android.app.Context因此您可以startActivity直接使用。但是,由于您在任何活动之外都开始了此操作,因此需要FLAG_ACTIVITY_NEW_TASK在意图上设置标志。
例如:
Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
this您的服务在哪里?
TA贡献1911条经验 获得超7个赞
即使该框架允许您从服务启动活动,也可能不是适当的解决方案。原因是在服务希望与用户交互时,服务任务可能是用户关注的重点,也可能不是。中断用户当前正在做的事情被认为是不良的设计形式,尤其是来自本应在后台运行的内容。
因此,您应该考虑使用带通知服务的通知,该通知服务带有PendingIntent,可以在用户确定是时候进行调查时启动所需的活动。认为这是延迟的满足。
TA贡献1851条经验 获得超3个赞
这肯定会解决您的问题
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName cn = new ComponentName(this, TaxiPlexer.class);
intent.setComponent(cn);
startActivity(intent);
- 3 回答
- 0 关注
- 399 浏览
添加回答
举报