Android BroadCast接收器,用于振动和静音

时间:2012-09-24 11:05:20

标签: android android-intent

我需要一个广泛的接收器实现,用户可以检查手机是从Ringer模式转为静音还是静音振动,反之亦然。

int volumeValue = (Integer)intent.getExtras().get("android.media.EXTRA_VOLUME_STREAM_VALUE");

我尝试了这段代码,但它不会给我太多帮助,因为它从振铃器到静音和静音振动相同,反之亦然。我实际上想要抓住手机从振铃模式转为静音和静音振动的动作 提前致谢

1 个答案:

答案 0 :(得分:9)

将此代码写入接收器的onCreate()方法:

 BroadcastReceiver receiver=new BroadcastReceiver(){
          @Override
          public void onReceive(Context context, Intent intent) {
               //code...
          }
      };
      IntentFilter filter=new IntentFilter(
                      AudioManager.RINGER_MODE_CHANGED_ACTION);
      registerReceiver(receiver,filter);

还要将此添加到mainfest文件中:

<receiver android:name=".receivers.RingerModeStateChangeReceiver" >
        <intent-filter>
            <action android:name="android.media.RINGER_MODE_CHANGED" />
        </intent-filter>
    </receiver>