Come triggersre il bluetooth sul clic del button

Nella mia applicazione, ho bisogno di triggersre il bluetooth del mio dispositivo su un clic del button. Come posso get ciò? Un esempio sarà veramente utile. Inoltre, quali autorizzazioni potrei includere nel mio mainfest.xml per lo stesso?

  • Utilizzo di Mediaplayer all'interno di un frammento
  • "Failure Delivering Result" - onActivityForResult
  • Problemi di rendering di Android Studio
  • "Riferimento non definito" quando accede alla libreria condivisa utilizzando JNI
  • Flip l'image memorizzata come arrays di byte
  • Servizio non disponibile - Geocoder Android
  • SQLite Android. imansible aprire il file di database
  • Equivalente a javax.swing.Timer in Android
  • Accesso alla networking in modalità double
  • Android HttpUrlConnection EOFException
  • Android: Come memorizzare una serie di stringhe in SharedPreferences per android
  • utilizzando blobstore con endpoint google google e android
  • 3 Solutions collect form web for “Come triggersre il bluetooth sul clic del button”

    Di seguito sono riportti i frammenti di codice dalla documentazione android su Bluetooth

    Nel file manifesto per le autorizzazioni:

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

    Codice sorgente per triggersre Bluetooth

     BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { // Device does not support Bluetooth } if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } 

    Se abilita il Bluetooth, l' Activity riceverà il codice di risultato RESULT_OK nel callback onActivityResult() . Se Bluetooth non è stato abilitato a causa di un errore (o l'utente ha risposto "No"), il codice risultato sarà RESULT_CANCELED .

    Accendere Bluetooth in Android non è difficile. Ma bisogna prestare attenzione a alcuni dettagli. Ci sono 3 tipi di methods per triggersre Bluetooth in Android.

    1.Force per aprire Bluetooth.

    Per get l'adattatore bluetooth predefinito, ad esempio utilizzare BluetoothAdapter.getDefaultAdapter() ; Hai bisogno di questa authorization:

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

    Per forzare l'apertura di Bluetooth, vale a dire utilizzare BluetoothAdapter.enable() ; Hai bisogno di questa authorization:

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

    Ecco un esempio di codice

     /** * Bluetooth Manager * * @author ifeegoo www.ifeegoo.com * */ public class BluetoothManager { /** * Whether current Android device support Bluetooth. * * @return true:Support Bluetooth false:not support Bluetooth */ public static boolean isBluetoothSupported() { return BluetoothAdapter.getDefaultAdapter() != null ? true : false; } /** * Whether current Android device Bluetooth is enabled. * * @return true:Bluetooth is enabled false:Bluetooth not enabled */ public static boolean isBluetoothEnabled() { BluetoothAdapter bluetoothAdapter = BluetoothAdapter .getDefaultAdapter(); if (bluetoothAdapter != null) { return bluetoothAdapter.isEnabled(); } return false; } /** * Force to turn on Bluetooth on Android device. * * @return true:force to turn on Bluetooth success * false:force to turn on Bluetooth failure */ public static boolean turnOnBluetooth() { BluetoothAdapter bluetoothAdapter = BluetoothAdapter .getDefaultAdapter(); if (bluetoothAdapter != null) { return bluetoothAdapter.enable(); } return false; } } 

    Il metodo di cui sopra per triggersre Bluetooth non indicherà all'utente se si accende il successo Bluetooth o no. Quando si chiama il metodo enable (), non si accende Bluetooth 100%. A causa del motivo di alcune applicazioni di protezione si rifiuta di fare questo e così via.È necessario prestare attenzione al valore restituito del metodo enable ().

    Le API api del metodo enable () ci dicono che:

    Bluetooth non dovrebbe mai essere abilitato senza il consenso dell'utente diretto. Se si desidera triggersre Bluetooth per creare una connessione wireless, è necessario utilizzare l'intento ACTION_REQUEST_ENABLE, che solleva una window di dialogo che richiede l'authorization dell'utente per triggersre Bluetooth. Il metodo enable () viene fornito solo per applicazioni che includono un'interface utente per modificare le impostazioni di sistema, ad esempio un'applicazione "power manager".

    Quindi non è adatto per triggersre Bluetooth con il metodo enable () a less che non fai sapere all'utente che cosa farai.

    2.Utilizzare l'allarme di sistema per ricordare agli utenti che attiverà Bluetooth da startActivityForResult.

     this.startActivityForResult(requestBluetoothOn, REQUEST_CODE_BLUETOOTH_ON) need this permission: <uses-permission android:name="android.permission.BLUETOOTH" /> public class MainActivity extends Activity { /** * Custom integer value code for request to turn on Bluetooth,it's equal *requestCode in onActivityResult. */ private static final int REQUEST_CODE_BLUETOOTH_ON = 1313; /** * Bluetooth device discovery time,second。 */ private static final int BLUETOOTH_DISCOVERABLE_DURATION = 250; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.activity_main); if ((BluetoothManager.isBluetoothSupported()) && (!BluetoothManager.isBluetoothEnabled())) { this.turnOnBluetooth(); } } /** * Use system alert to remind user that the app will turn on Bluetooth */ private void turnOnBluetooth() { // request to turn on Bluetooth Intent requestBluetoothOn = new Intent( BluetoothAdapter.ACTION_REQUEST_ENABLE); // Set the Bluetooth discoverable. requestBluetoothOn .setAction(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); // Set the Bluetooth discoverable time. requestBluetoothOn.putExtra( BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, BLUETOOTH_DISCOVERABLE_DURATION); // request to turn on Bluetooth this.startActivityForResult(requestBluetoothOn, REQUEST_CODE_BLUETOOTH_ON); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_BLUETOOTH_ON) { switch (resultCode) { // When the user press OK button. case Activity.RESULT_OK: { // TODO } break; // When the user press cancel button or back button. case Activity.RESULT_CANCELED: { // TODO } break; default: break; } } } } 

    Questo è un modo migliore per triggersre Bluetooth su Android.

    3.Guida gli utenti al sistema Impostazioni Bluetooth per triggersre Bluetooth da soli.

     // Guide users to system Bluetooth settings to turn on Bluetooth by himselves. this.startActivity(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS)); 

    Nella mia app.Considerando il codice logico e anche l'esperienza utente, utilizzo i seguenti passi per triggersre Bluetooth:

    1.abilitare enable () per triggersre Bluetooth.But dirò agli utenti che accenderò Bluetooth, se mi permettono di farlo, chiamerò enable () per triggersre Bluetooth.Questo è meglio che call il sistema avviso, perché possiamo controllare il contenuto per ricordare all'utente. È necessario prestare attenzione che non è il 100% di triggersre Bluetooth con enable (), alcune applicazioni di protezione o altri motivi ti rifiutano di farlo. Ma possiamo stimare che se accendiamo il successo di Bluetooth o no per il valore restituito del metodo abilitare().

    2. Se il metodo enable () restituisce false, allora utilizziamo startActivityForResult per ricordare agli utenti che accenderemo Bluetooth.

    3.Se il passaggio 2 non funziona per alcuni motivi, è ansible guidare gli utenti per andare alle impostazioni Bluetooth del sistema per triggersre Bluetooth da soli.

    Alcune ulteriori informazioni su come triggersre e distriggersre Bluetooth in Android: http://www.ifeegoo.com/android-turn-on-and-turn-off-bluetooth.html

    Questa soluzione ti aiuterà Android Bluetooth . Ma per i dettagli sull'utilizzo Bluetooth con Android insieme a manifest.xml devi vedere questo Android Bluetooth .

    Per il permesso hai bisogno.

     <manifest ... > <uses-permission android:name="android.permission.BLUETOOTH" /> ... </manifest> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.