想要在launcher中類比按home鍵。,launcherhome

來源:互聯網
上載者:User

想要在launcher中類比按home鍵。,launcherhome

 

 

 

Intent mHomeIntent = new Intent(Intent.ACTION_MAIN);          mHomeIntent.addCategory(Intent.CATEGORY_HOME);          mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK                          | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);          getApplicationContext().startActivity(mHomeIntent);   // 要用getApplicationContext
Android中,如果想把stack中的某個Activity moveTaskToFront,可以定義一個BroadcastReceiver接收某種類型的Broadcast,並在onReceive中start該Activity。但是需要注意的是,startActivity前面的context參數問題。android的activity中不能使用startAcitivity來將自己提前到stack的前面,所以這個onReceive中的startActivity的context不能是Activity。另外如果該BroadcastReceiver是動態註冊的(dynamic register),此時在onReceive中傳入的context的參數就是這個Activity,也不能使用。對付上面這個問題比較有效辦法,就是不要直接使用這個context,而是使用context.getApplicationContext(),這樣就可以實現moveTaskToFront了。與moveTaskToFront相對應的是moveTaskToBack,這個相對比較簡單,Activity已經提供了moveTaskToBack方法。當時需要注意的是,一旦調用這個方法,該Activity所在的task將會被整體搬遷到stack的最底端,需要特別注意。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.