Android 台灣中文網

標題: 偵測耳機孔是否有無插入耳機 ... [打印本頁]

作者: judon    時間: 2012-5-11 13:45
標題: 偵測耳機孔是否有無插入耳機 ...
要注意的是 BroadcastReceiver 使用靜態註冊在 AndroidManifest.xml 可能會無效,
所以要像以下程式使用動態寫入註冊才可以,離開APP時,要註銷廣播程式...



HeadSetActivity.java 內容 (主畫面 Java檔)

import android.app.Activity;  
import android.content.IntentFilter;
import android.os.Bundle;  
  
public class HeadSetActivity extends Activity {  
    HeadsetPlugReceiver headsetPlugReceiver;   
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        registerHeadsetPlugReceiver();  
    }  
    private void registerHeadsetPlugReceiver(){  
        headsetPlugReceiver  = new HeadsetPlugReceiver ();  
        IntentFilter  filter = new IntentFilter();  
        filter.addAction("android.intent.action.HEADSET_PLUG");  
        registerReceiver(headsetPlugReceiver, filter);  
    }  
@Override  
protected void onDestroy() {  
    // TODO Auto-generated method stub  
    super.onDestroy();  
    unregisterReceiver();
}  
private void unregisterReceiver(){  
    this.unregisterReceiver(headsetPlugReceiver);  
}  
}  



HeadsetPlugReceiver.java 內容
import android.content.BroadcastReceiver;  
import android.content.Context;  
import android.content.Intent;  
import android.widget.Toast;  
  
public class HeadsetPlugReceiver extends BroadcastReceiver {  
  
    @Override  
    public void onReceive(Context context, Intent intent) {  
        // TODO Auto-generated method stub  
         
            if(intent.hasExtra("state")){  
                if(intent.getIntExtra("state", 0)==0){  
                    Toast.makeText(context, "headset not connected", Toast.LENGTH_LONG).show();  
                }  
                else if(intent.getIntExtra("state", 0)==1){  
                    Toast.makeText(context, "headset  connected", Toast.LENGTH_LONG).show();  
                }  
            }  
    }  
  
}  
作者: kevin7799    時間: 2013-9-4 10:58
謝謝大大辛苦努力的分享




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1