Notification 程序常驻,当程序被GC回收后,程序是重新启动执行吗?
我想请问下,用了Notification 来做程序常驻,程序会回收后,点击Notification之后整个程序都是重新启动吗?
可是感觉是直接启动Application 然后启动最后一个Activtity,并没有按照正常的启动方式来启动应用。 --------------------编程问答-------------------- 用service可以 --------------------编程问答-------------------- 是的,并没有整个程序都启动 如果想被系统收回后重启。
可以通过service来解决,在onStartCommand()函数中返回 START_STICKY 这个标记。 --------------------编程问答--------------------
原来是这样哦,难怪MainActivity没执行全部,导致后面出现空指针了,
这个Service 能够给个详细的思路吗! --------------------编程问答-------------------- 我的需求是这样的,在应用任何一个页面,按Home键,新建一个Notification在状态栏,点击Notification回到之前页面。
现在有个问题,应用被回收之后,点击Notification是重新启动应用,但是并没有整个应用都启动,导致该页面使用的全局变量是个空指针,导致应用崩溃退出。
这个问题怎么解决啊! --------------------编程问答--------------------
如果你要保留你的状态的话,那就用START_REDELIVER_INTENT,因为START_STICKY是不保留启动的intent的状态的。
具体实现大概:你按HOME键新建的notification中带一个启动service的intent(这个你应该知道怎么写吧),把你要保存的状态数据放到这个intent中,这个intent就传到service中了,接着
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
handleCommand(intent);//这个intent就保存了你的数据,然后恢复楼主所需的状态哈
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_REDELIVER_INTENT;
}
补充:移动开发 , Android