4

我需要一个广播接收器实现,用户可以在其中检查电话是从振铃模式变为静音还是从静音变为振动,反之亦然。

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

我尝试了这段代码,但它对我没有多大帮助,因为它提供了从铃声到静音和静音到振动的相同价值,反之亦然。我真的想捕捉手机从铃声模式到静音和静音到振动时的动作提前谢谢

4

1 回答 1

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>
于 2012-09-24T11:15:44.643 回答