如何让程序后台运行?

kome2000 2010-07-28 12:12:36
比如当前在我的软件里,单击了一个按钮,这个时间就是我的程序隐藏到后台,
之前的页面是什么就还是那个页面,
比如我当前是桌面,然后我运行我的程序,之后我切换到后台,页面还是显示桌面的

这种如何实现?
...全文
15738 72 打赏 收藏 转发到动态 举报
写回复
用AI写文章
72 条回复
切换为时间正序
请发表友善的回复…
发表回复
okletsgo007 2013-01-14
  • 打赏
  • 举报
回复
我去,太有用了,谢谢啦,不知道这种会不会被系统回收啊
rocky-bull 2012-07-11
  • 打赏
  • 举报
回复
看下一phone app的返回键的处理就知道了

* We never *really* finish() the InCallScreen, since we don't want to
* get destroyed and then have to be re-created from scratch for the
* next call. Instead, we just move ourselves to the back of the
* activity stack.
*
* This also means that we'll no longer be reachable via the BACK
* button (since moveTaskToBack() puts us behind the Home app, but the
* home app doesn't allow the BACK key to move you any farther down in
* the history stack.)
*
* (Since the Phone app itself is never killed, this basically means
* that we'll keep a single InCallScreen instance around for the
* entire uptime of the device. This noticeably improves the UI
* responsiveness for incoming calls.)
*/
@Override
public void finish() {
if (DBG) log("finish()...");
moveTaskToBack(true);
}
haiyualong 2012-04-02
  • 打赏
  • 举报
回复
感谢楼主,感谢回帖的人,楼主用了好几个月才解决这个问题,我今天下午也遇到了这个问题,然后搜索到了这个帖子,看完后立马解决了
王冥 2012-03-07
  • 打赏
  • 举报
回复
看了这个帖子,受益匪浅啊
dsliang12 2012-03-01
  • 打赏
  • 举报
回复
好东西!原来qq是用service实现的...今天才知道.
yihongyuelan 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 69 楼 y178213568 的回复:]

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
[/Quote]
恩在2.3.5上亲测,moveTaskToBack(true)就可以了,lz给的方法实际上是模拟Home键,而QQ的返回就类似于moveTaskToBack(true)
chan2177 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 kome2000 的回复:]

Java code

public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_TYP……
[/Quote]

Utility是什么类?怎么没有提示导包,是自己写的类吗?
喜欢原谅你 2011-10-28
  • 打赏
  • 举报
回复
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
savelove123 2011-09-08
  • 打赏
  • 举报
回复
请问下楼主,你现在这个实现了吗!!!
你的源代码的一些方法 我怎么找不到。。请指出下 谢谢啦。。
zhaohuan_88 2011-08-02
  • 打赏
  • 举报
回复
你这个版本是多少,为什么有些类都找不到哦!
[Quote=引用 64 楼 kome2000 的回复:]
引用 63 楼 chensylsl 的回复:

引用 60 楼 kome2000 的回复:
Java code

public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIg……
[/Quote]
hddbaoruan 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 kome2000 的回复:]
Java code

public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_T……
[/Quote]

能讲解下这个方法吗
ylczj 2011-06-30
  • 打赏
  • 举报
回复
没想法。。。。
kome2000 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 63 楼 chensylsl 的回复:]

引用 60 楼 kome2000 的回复:
Java code

public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHO……
[/Quote]

可以!
bingxu19890131 2011-05-25
  • 打赏
  • 举报
回复
可以看一下你实现的源码吗?
kome2000 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 57 楼 bingxu19890131 的回复:]
楼主你好,我回复了两次了,好像你都误解我的意思了。我明白你想要什么效果,我现在在做的一个项目也想达到这个效果,不知道你现在实现了吗?
[/Quote]


我不都说了嘛!我们程序实现的是 返回桌面。也算是后台运行了,但不是堆栈返回!
bingxu19890131 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 61 楼 kome2000 的回复:]

找了1小时才找到!
[/Quote]

非常非常感谢,哈哈,这个问题我弄了很久了,你对我这种刚入门的选手太有耐心了。。。感动ing!
kome2000 2011-05-25
  • 打赏
  • 举报
回复
找了1小时才找到!
kome2000 2011-05-25
  • 打赏
  • 举报
回复

public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_TYPE_LEPHONE_100)
|| Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_TYPE_LEPHONE_101))
{
MyIntent.addCategory("android.intent.category.DESK_DOCK");
}
else
{
MyIntent.addCategory(Intent.CATEGORY_HOME);
}
activity.startActivity(MyIntent);
// activity.getParent().moveTaskToBack(true);
}
bingxu19890131 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 kome2000 的回复:]

引用 51 楼 donotwarry 的回复:

明显qq是用Service实现的,楼主你想复杂了。


你还是不明白 Service能帮助你后台运行,那么如何后台运行的?
就比如windows我们点击 最小化,程序后台了!
那么ANDRPID 我们怎么做呢?
[/Quote]
请问这个问题解决了吗,我也遇到这个问题了,想要实现的效果跟你的一样。
kome2000 2011-05-24
  • 打赏
  • 举报
回复
我们 实现的是 一个返回桌面事件!

但QQ不是,QQ是堆栈返回!

加载更多回复(52)

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧