接收系统广播之耳机插拔信息
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>
浙公网安备 33010602011771号