Android物联网项目——返回活动而不销毁活动

1.适用什么样的通讯协议来和硬件通讯?我们组使用的是MQTT协议,这个等做完展开说

2.昨天做app时需要一个预约功能,从主界面进入预约界面,从预约界面开启预约,会有一个倒计时,启动后进入主界面,我们是需要这个预约界面继续计时不停止的。但这个时候就会存在一个问题,就是当我从预约界面返回主界面时,预约界面的activity会被销毁,这样再次从主界面进入预约界面时app会start一个新的activity。在网上查了2个小时资料,最后解决了这个问题。

我们需要做的动作有2个:

1.是将预约界面的activity启动模式变为singleInstance启动模式,这样预约界面就会存在于一个单独的任务栈中。

<activity android:name=".appointment" android:launchMode="singleInstance">

2.单单改变启动模式是没有用的,我们还需要重写返回时触发的方法onKeyDown

//通过重写onKeyDown,配合singleInstance启动模式来实现返回时活动依然运行
//其中,moveTaskToBack(true);这一项挺重要的,当输入false时,只对MainActivity生效,true则对所有的活动生效。
    public  boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if (keyCode== KeyEvent.KEYCODE_BACK)
        {
            moveTaskToBack(true);
            return true;
        }
        return super.onKeyDown(keyCode,event);
    }

其中,moveTaskToBack(true);这一项挺重要的,当输入false时,只对MainActivity生效,true则对所有的活动生效。

这样,通过将A和B分在两个任务栈,在预约界面中按下返回时就能不被销毁,重新进入数据依然保留着。

3.我们经常还需要版本控制的内容,其一我们可以通过右键APP-local history-show history来查看12小时内项目改动的历史

但这种方式局限性大,只能查看12小时内的版本变动,所以我们有必要学习别的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值