首先,我知道我的问题是违反Android的理念,但我没有选择,这个应用程序将在嵌入式汽车gps上运行,我需要带一个活动来防止车祸,例如,当它发生在用户身边时。我必须在后面放置其他活动,并在没有用户操作的情况下弹出警报,就像前面的通知一样。
有没有办法手动将活动带到前面,通过恢复它就像点击android任务切换器一样?
答案 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();
}