您的位置:首页 > 其它

检测耳机是否插入方法

2015-09-24 11:04 316 查看
1.主main类代码:

public class TestHeadSetPlugActivity extends Activity {
	
	private HeadsetPlugReceiver headsetPlugReceiver; 
	//String sName="cwj";
			//String sCity="Shanghai";
		//	TextView textView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test_head_set_plug);
        registerHeadsetPlugReceiver();
        //String sInfoFormat = getResources().getString(R.string.alert2); 
       // String sFinalInfo=String.format(sInfoFormat, sName, sCity); 
       // textView=(TextView) findViewById(R.id.text);
       // textView.setText(sFinalInfo);
    }
    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
		unregisterReceiver(headsetPlugReceiver);
		super.onDestroy();
	}
    
}


2.HeadsetPlugReceiver 类,检测耳机类

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)==1)
			{
				Toast.makeText(context, "耳机已经连接", Toast.LENGTH_LONG).show();
			}
			else if(intent.getIntExtra("state", 0)==0)
			{
				Toast.makeText(context, "耳机未连接", Toast.LENGTH_LONG).show();
			}
		}
		
	}

}


3.清单文件加上以下权限

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: