多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] Android實現(xiàn)廣播監(jiān)聽HOME鍵操作

[置頂] Android實現(xiàn)廣播監(jiān)聽HOME鍵操作

來源:程序員人生   發(fā)布時間:2015-04-28 08:40:41 閱讀次數(shù):3116次

先寫了個Service,在服務中通過廣播來監(jiān)聽HOME鍵操作:

public class HomeService extends Service{
private MonitoHomeReceiver mHomeBroadcastReceiver;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mHomeBroadcastReceiver = new MonitoHomeReceiver();
/**
* Android對屏幕下方經常使用按鍵消息處理是不1致的:
* 1、搜索按鍵的消息在onKeyDown或onKeyUp中接收;
* 2、菜單按鍵的消息在onCreateOptionsMenu、onKeyDown或onKeyUp方法中接收;
* 3、返回按鍵的消息可以在onBackPressed、onKeyDown或onKeyUp方法中接收。
* 對Home按鍵消息的處理,既不能通過onKeyDown、onKeyUp接收到,android也沒有提供專有的方法接收按鍵消息
* 但辦法總是有的,點擊Home按鍵時都會發(fā)出1個action為Intent.ACTION_CLOSE_SYSTEM_DIALOGS的廣播,通過注冊它來監(jiān)聽Home按鍵消息
*/
IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
registerReceiver(mHomeBroadcastReceiver, homeFilter);
}
public class MonitoHomeReceiver extends BroadcastReceiver{
final String HOME_DIALOG_REASON = "homereason";
final String HOME_DIALOG_REASON_HOME = "homekey";


@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
String reason = intent.getStringExtra(HOME_DIALOG_REASON);
if (reason != null && reason.equals(HOME_DIALOG_REASON_HOME)) {
Toast.makeText(getApplicationContext(), "點擊Home鍵", Toast.LENGTH_SHORT).show();
return;
}
}
}


}

@Override
public void onDestroy() {
unregisterReceiver(mHomeBroadcastReceiver);
mHomeBroadcastReceiver = null;
super.onDestroy();
}
}

然后在Activity中啟動Service:


public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**按鈕點擊事件*/
findViewById(R.id.test_home_btn).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,HomeService.class);
startService(intent);
}
});
}
}

最后就是個簡單的布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/test_home_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="測試Home鍵" />

</LinearLayout>

最后不要忘記在AndroidManifest.xml中用<Service></Service>標簽注冊HomeService 服務。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 好大好湿好硬顶到了好爽在 | 日本www片| 毛片免费观看视频 | 欧美三级午夜理伦三级小说 | jizz日本在线播放 | 亚洲精品自拍 | 狠狠躁天天躁夜夜躁婷婷 | 亚洲一逼 | 国产精品视频白浆免费视频 | 好大好湿好硬顶到了好爽(双性) | 日本高清网 | 欧美性大战久久久久久久 | 亚洲美女激情视频 | 国产模特众筹精品视频 | 淫视频网站| 五月天福利| 免费看毛片网站 | 精品国产一区二区三区久久影院 | 两性午夜欧美高清做性 | 激情视频在线观看网站 | 免费中国jlzzjlzz在线播放 | 亚洲黄色影片 | 日本欧美一区二区三区免费不卡 | 日韩欧美毛片免费观看视频 | 日韩欧美亚洲国产一区二区三区 | 欧美成人h版影片在线观看 欧美成人h版影院在线播放 | 欧美一级做a爰片免费 | 亚洲爱| 欧美国产高清 | 亚洲国产欧美在线 | 久久国产免费一区 | 亚洲综合射 | 欧美日韩国产欧美 | 久久99一区| www.欧美在线| 久久免费毛片 | 中文字幕亚洲图片 | 波多野结衣在线免费观看视频 | 日本中文字幕网站 | 亚洲免费在线视频 | 日本在线不卡免费视频一区 |