接收系统广播之耳机插拔信息

1.定义一个receiver 

 1 package com.bwf.sms;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.util.Log;
 7 import android.widget.Toast;
 8 
 9 public class HeadsetReceiver extends BroadcastReceiver{
10 
11     @Override
12     public void onReceive(Context context, Intent intent) {
13         String str = "";
14         if(intent.hasExtra("state")){
15             if(intent.getIntExtra("state", 0) == 0){
16                 str = "耳机拔出";
17             } else if(intent.getIntExtra("state", 0) == 1){
18                 str = "耳机插入";
19             }
20         }
21         Toast.makeText(context, str, Toast.LENGTH_LONG).show();
22         Log.d("fanhy", str);
23     }
24 }

2.

 1 package com.bwf.sms;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.content.IntentFilter;
 7 import android.view.Menu;
 8 
 9 public class Mp3Activity extends Activity {
10     HeadsetReceiver receiver;
11     
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_mp3);
16         
17         IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
18         receiver = new HeadsetReceiver();
19         registerReceiver(receiver, filter);
20     }
21 
22     @Override
23     public boolean onCreateOptionsMenu(Menu menu) {
24         // Inflate the menu; this adds items to the action bar if it is present.
25         getMenuInflater().inflate(R.menu.mp3, menu);
26         return true;
27     }
28 
29     @Override
30     protected void onDestroy() {
31         unregisterReceiver(receiver);
32         super.onDestroy();
33     }
34 }

3.注册receiver

 <receiver
            android:name="com.bwf.sms.HeadsetReceiver"
            android:exported="true" >
        </receiver>

 

posted on 2015-10-13 20:01  敬的男人  阅读(348)  评论(0)    收藏  举报