2011年2月14日月曜日

HOMEボタン押下と同じ処理をするには

onKeyDown()の処理として、
HOME画面に抜けるようなことをするにはどうすればいいのか。


そもそも、HOMEキー押下でやっていることというのは、
HOME画面のインテントを発行しているだけなのである。
つまり、

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);

と書いてやればいい・・・・・・だけなら話は早かったのだけれど、
これだと、使用するHOMEアプリによっては、Permission Denialが発生する。
そこで、

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
      | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

このフラグを付けてやれば、おそらくは安心。
手持ちの環境ではPermission Denialが発生しないので、
確認できていませんが(滝汗


参考ソース↓ (要所は"CATEGORY_HOME"で検索してやってください)

0 コメント:

コメントを投稿