Mar*_*Gil 71
android.app.Service是后代,android.app.Context所以你可以startActivity直接使用.但是,由于您在任何活动之外启动此操作,因此需要FLAG_ACTIVITY_NEW_TASK在intent上设置标记.
例如:
Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
this你的服务在哪里
小智 20
即使框架允许您从服务启动活动,它也可能不是一个合适的解决方案.原因是服务任务可能或可能不是服务希望与用户交互时用户的焦点.中断用户当前正在做的事情被认为是糟糕的设计形式,尤其是应该在后台运行的东西.
因此,您应该考虑使用Notification with Notification Service,当用户决定调查时,它带有PendingIntent以启动所需的Activity.把它想象为延迟满足.
这肯定会解决你的问题
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56031 次 |
| 最近记录: |