使用通知保持前景,如何?

时间:2014-10-01 10:34:31

标签: java android service notifications foreground

从文档中我了解到,当我们打开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()开始活动)如何强迫它回到原来的位置?

我搜索了很多,但仍然无法找到关于此的好答案。任何的想法 ?

1 个答案:

答案 0 :(得分:0)

要实现这一目标,您必须使用Service。看看this tutorial

您可以将服务作为“前台服务”启动,该服务在后台运行,几乎不会被系统杀死。

要执行此操作,请致电startForeground(id, notification)