1

マイクの状態を処理するために ContentObserver を使用したいと考えています。しかし、それはうまくいきません。メソッドonChangeには何も来ません。

public class MainActivity extends Activity implements OnClickListener{

    AudioManager amAudioManager;  

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        amAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        getContentResolver().registerContentObserver(
                System.getUriFor(System.MUTE_STREAMS_AFFECTED),
                false, mMuteObserver);
    }

    private ContentObserver mMuteObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            super.onChange(selfChange);
            amAudioManager.setMicrophoneMute(false);
        }
    };

    @Override
    public void onClick(View v) {
        int id = v.getId();
        //just for test functional

        amAudioManager.setMicrophoneMute(true);

    }
}

Android マニフェスト ファイルのアクセス許可:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />**
4

0 に答える 0