2014-07-22 12 views

risposta

64

Per quanto riguarda le autorizzazioni, per rilevare il cambio di stato del bluetooth è necessario aggiungerlo al proprio AndroidManifest.xml.

<uses-permission android:name="android.permission.BLUETOOTH" /> 

Un ricevitore esempio sarebbe simile a questa, si aggiunge questo codice in cui si desidera gestire la trasmissione, ad esempio un'attività:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
      public void onReceive (Context context, Intent intent) { 
       String action = intent.getAction(); 

       if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { 
        if(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1) 
    == BluetoothAdapter.STATE_OFF) 
    // Bluetooth is disconnected, do handling here 
} 

} 

     }; 

Per utilizzare il ricevitore, è necessario registrarlo . Che puoi fare come segue. Registro il ricevitore nella mia attività principale.

registerReceiver(this, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); 

Puoi anche decidere di aggiungerlo tutto al tuo AndroidManifest.xml. In questo modo puoi creare una classe speciale per il ricevitore e gestirla lì. Non è necessario registrare il ricevitore, basta creare la classe e aggiungere il codice seguente a AndroidManifest

<receiver 
     android:name=".packagename.NameOfBroadcastReceiverClass" 
     android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/> 
    </intent-filter> 
</receiver> 
+0

dove dovrei aggiungere il 2 ° e il 3 ° codice? –

+0

So solo fare una classe di ricevitore broadcast –

+0

Ho modificato il mio post – paNji

21

È necessario prendere il seguente permesso.

<uses-permission android:name="android.permission.BLUETOOTH" /> 

e si deve scrivere questo come filtro di intenti nel tag del ricevitore.

<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> 
Problemi correlati