2016-05-04 10 views
0

私はブロードキャスト受信機を持っています。これは、Bluetoothデバイスが切断されるたびに使用されます。私は設定を介して反応する必要がありますブルートゥデバイス用のMacデバイスを設定しますが、私が何をするに関係なく、それはすべてのBluetoothデバイスで発生します。BluetoothDeviceがカスタムMACアドレスに反応する

public class Bluetooth_Receiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 

     SharedPreferences bluetooth = context.getSharedPreferences("BluetoothDevice", Context.MODE_PRIVATE); 
     String deviceMac = bluetooth.getString("MAC", "22:22:97:1F:D6:0F"); 

     BluetoothDevice device = intent.getParcelableExtra(deviceMac); 

     Toast.makeText(context, "" + String.valueOf(device), Toast.LENGTH_SHORT).show(); 

     if (deviec.ACTION_FOUND.equals(action)) { 
      //Device found 
     } 
     else if (device.ACTION_ACL_CONNECTED.equals(action)) { 
      //Device is now connected 
     } 
     else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { 
      //Done searching 
     } 
     else if (device.ACTION_ACL_DISCONNECT_REQUESTED.equals(action)) { 
      //Device is about to disconnect 
     } 
     else if (device.ACTION_ACL_DISCONNECTED.equals(action)) { 
      //Device has disconnected 
      context.startService(new Intent(context, save_location_service.class)); 
     } 
    } 

}

が、私は私の受信機は、切断時に特定のデバイスにのみ反応するようにしたい(それでも私は、将来の機能のために、内部の他の方法を必要とする):ここに私の受信機です。 トーストは私に "ヌル"を与えます。 deviceMac文字列は私にMACの正しいアドレスを与えます。私はおそらく、新しいBluetoothデバイスを作成する必要があると思うが、私はこれを行う方法を見つけることができませんでした...どんな助けもありがとうございます。

答えて

0

さて、解決策を見つけようと数日を経て、私は簡単な方法を見つけましたが、うまくいきました。私はif文を追加します。それはMACが同じであれば、私は共有の設定で保存しました。

 if(Objects.equals(String.valueOf(device), deviceMac)){ 
      else if (device.ACTION_ACL_DISCONNECTED.equals(action)) { 
       context.startService(new Intent(context, save_location_service.class)); 
      } 
     } 
関連する問題