从状态栏的Andr​​oid运行漫长的过程

我有一次用户运行它有一个长期的过程来运行,比如下载所需的文件和设置这一切并没有什么应用程序的应用程序。 我想,而进程正在运行的进程移至后台,并显示一个通知状态栏。

什么会我最好的策略是保持过程活着,而下载文件,什么不是。 我读过有关的服务,不过也听说了他们容易被杀? 我应该使用一个服务或者我应该只是运行一个线程,最大的优先级,只是抛出一个通知,并关闭它,当过程结束?

什么是最好的谢谢你的任何帮助。 顺便说一句过程大约十分钟时间不超过它需要下载一个ROM的ROM经理基本上只是想要一个同样的设置谢谢你的任何帮助。

--------------解决方案-------------

这听起来像一个前景Service是正是你需要的。 当你创建它,通知被放置在状态栏,告诉它运行的用户。 该服务也给出高优先级,使得它不会被取消。

从前景色标志的文档:

public final void startForeground (int id, Notification notification)

Make this service run in the foreground, supplying the ongoing notification
to be shown to the user while in this state. By default services are background,
meaning that if the system needs to kill them to reclaim more memory (such as to
display a large page in a web browser), they can be killed without too much harm.
You can set this flag if killing your service would be disruptive to the user,
such as if your service is performing background music playback, so the user
would notice if their music stopped playing.

你可以看一下文档的其余部分在这里。

服务正是你想要的。 你可以指定你的服务有多高优先级的是,当你创建(见@ theisenp的职位)。

至于你的移动Activity的背景和以后重新打开它-我建议启动该服务,那么实际使用停止您的应用程序finish()方法。 然后,一旦服务完成后,重新启动您的活动意图,或广播,可以通过处理一个Intent BroadcastReceiver

分类:安卓 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.343 (s). 10 q(s)