从文档中我了解到,当我们打开another_one时,我们的程序会进入后台,然后在一段时间之后,android会调用onDestroy()来取回它的资源;但是我们的节目是一种观察者(想象我们有一个媒体播放器在backGround播放音乐)并且它不应该关闭直到int programState == 1(有一个电源按钮结束播放器或观察者)。此外,我了解到我们可以通过" Notification"这太酷了(但我不知道怎么做)!这是一个通知代码:
in Activity's onCreate(){
//> reading some data and define some initial values .
mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification app_notfiy =addNotification();
//> still should perform somehing ?!?
}
private Notification addNotification() {
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher_new)
.setContentTitle(getText(string.app_name))
.setContentText("> This is a notification !?")
.setUsesChronometer(true)
;
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);
return builder.build() ;
}
但这里有2个问题。首先,我不认为通知真的附加到Activity(也许它需要一些权限或使用服务不确定!?)!接下来我想通知恢复应用程序而不重启它! (我认为它从onCreate()开始活动)如何强迫它回到原来的位置?
我搜索了很多,但仍然无法找到关于此的好答案。任何的想法 ?
答案 0 :(得分:0)
要实现这一目标,您必须使用Service。看看this tutorial。
您可以将服务作为“前台服务”启动,该服务在后台运行,几乎不会被系统杀死。
要执行此操作,请致电startForeground(id, notification)
。