2017-02-11 9 views
0

私は自分のBluetoothヘッドセットの応答ボタンを無駄に傍受しようとしています。私は自分のヘッドセットで着信着信音を得ることができ、私は私のアプリからの呼び出しに答えると、私はヘッドセットで聞くことができます。しかし、私はどのように私のアプリでは、ヘッドセットを使用して呼び出しをピックアップすることができますので、応答ボタンを横取りする方法を把握することができません。Android:Bluetoothヘッドセットの応答ボタンを傍受する

私の電話はJelly Bean OSです。私は、登録メディアのボタンレシーバーと、また、IntentFilter ACTION_AUDIO_STATE_CHANGEDとACTION_CALL_BUTTONのプレーンレシーバーを使用しようとしましたが、何も動作していないようです。私がこの仕組みをどのように得ることができるか教えてください。あなたの助けをたくさん感謝します。

答えて

0

Bluetoothデバイスを使用して、アプリケーションのマニフェストファイルにアクセス権を追加する必要が最初の作業を取得するには:

私は確信している
<manifest ... > 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    ... 
</manifest> 

、あなたはまだ行っていなければなりません。

例のコードスニペット:

BluetoothHeadset mBluetoothHeadset; 

// Get the default adapter 
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

private BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() { 
    public void onServiceConnected(int profile, BluetoothProfile proxy) { 
     if (profile == BluetoothProfile.HEADSET) { 
      mBluetoothHeadset = (BluetoothHeadset) proxy; 
     } 
    } 
    public void onServiceDisconnected(int profile) { 
     if (profile == BluetoothProfile.HEADSET) { 
      mBluetoothHeadset = null; 
     } 
    } 
}; 

// Establish connection to the proxy. 
mBluetoothAdapter.getProfileProxy(context, mProfileListener, BluetoothProfile.HEADSET); 

// ... call functions on mBluetoothHeadset 

// Close proxy connection after use. 
mBluetoothAdapter.closeProfileProxy(mBluetoothHeadset); 
+0

おかげでお返事のためにたくさん

は今、あなたは、Bluetoothヘッドセットのサービスを利用することができ、Bluetoothヘッドセットを制御します。はい、私はマニフェストの宣言をしましたが、BluetoothHeadsetとAdapterの使用方法は明確ではありません。申し訳ありませんが、私はあなたのコードをはっきりと理解することができません。ヘッドセットのボタンをクリックしてキャプチャするイベントはどこに追加しますか? BluetoothHeadsetが提供するイベントですか?私はチェックしたが、ボタンのクリックイベントをキャプチャするためにどのメソッドを使用する必要があるのか​​見つからなかった。 –

関連する問題