如何从后台服务将活动带到前台

时间:2010-03-17 11:19:24

标签: android

首先,我知道我的问题是违反Android的理念,但我没有选择,这个应用程序将在嵌入式汽车gps上运行,我需要带一个活动来防止车祸,例如,当它发生在用户身边时。我必须在后面放置其他活动,并在没有用户操作的情况下弹出警报,就像前面的通知一样。

有没有办法手动将活动带到前面,通过恢复它就像点击android任务切换器一样?

3 个答案:

答案 0 :(得分:4)

getApplicationContext()中拨打Service,即可Context,然后照常启动目标Activity

答案 1 :(得分:3)

这应该是对Alex的答案的评论,但由于某种原因这是不可能的。

由于getApplicationContext()Service,您根本不必使用Context

Intent intent = new Intent(this, MainActivity.class);

答案 2 :(得分:1)

最好使用pendintIntent,因为使用FLAG_ACTIVITY_NEW_TASK是缓慢而丑陋的。

Context context = getApplicationContext();
        Intent intent = new Intent(context, MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        try {
            contentIntent.send();
        } catch (PendingIntent.CanceledException e) {
            e.printStackTrace();
        }