android singleInstance返回問題


最近在學android編程,弄了一個小的app練手。APP實現藍牙通信的功能,啟動后進入A界面,實現搜索和連接的功能,並通過A界面進入B界面,完成顯示數據的部分。平時使用沒什么問題,最近發現在B界面返回到A界面后,再進入A界面,就會出現數據丟失的情況:調試顯示接收的數據大小不正確-----這部分還沒想明白怎么處理,為什么會出現數據丟失。

目前的解決方法是,將B活動設置為singleInstance啟動,這樣將A和B分為兩個任務棧。但是發現,僅僅這樣設置還不夠,問題依然存在。

在網上搜索按下back鍵不銷毀活動,基本上都是指回到桌面不銷毀的情況,通過重寫onKeyDown:

    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分在兩個任務棧,在B中按下返回時就能不被銷毀,重新進入數據依然保留着。

------還有其他的小問題正在學習和解決

11.13


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM