Par programmation activation bluetooth sur Android

Je suis en train de déterminer la meilleure façon pour par programme l'activation bluetooth sur Android. J'ai trouvé que l'une des techniques suivantes de travaux (au moins sur Android 4.0.4...):

public class MyActivity extends Activity {
    public static final int MY_BLUETOOTH_ENABLE_REQUEST_ID = 6;
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, MY_BLUETOOTH_ENABLE_REQUEST_ID);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == MY_BLUETOOTH_ENABLE_REQUEST_ID) {
            if (resultCode == RESULT_OK) {
                //Request granted - bluetooth is turning on...
            }
            if (resultCode == RESULT_CANCELED) {
                //Request denied by user, or an error was encountered while 
                //attempting to enable bluetooth
            }
        }
    }

ou...

BluetoothAdapter.getDefaultAdapter().enable();

L'ex-demande à l'utilisateur la permission avant d'activer alors que le deuxième a juste silencieusement permet bluetooth (mais nécessite l' "android.la permission.BLUETOOTH_ADMIN" autorisation). Est l'un ou l'autre ancien/obsolètes et/ou est une technique uniquement disponible sur certains appareils? ou est-ce juste une question de préférence personnelle à laquelle je utiliser?

Je me souviens avoir lu quelque part que vous ne devriez pas tourner sur des choses sans en informer l'utilisateur. Google n'aime pas ça.
C'est vrai, mais les deux techniques sont fournis par Google et, par conséquent, devrait être Google approuvé... et à la fois indiquer à l'utilisateur, c'est juste une question de QUAND ils indiquent à l'utilisateur (lors de l'installation contre, plus tard, quand c'est réellement active le bluetooth). Je sais que l'on peut être préférable de convivialité à la clientèle point de vue, mais je voudrais aussi savoir si les deux techniques sont disponibles partout, ou si l'un ou l'autre est réservé à certaines versions, ou si l'on a été une fois de manière normale, mais est maintenant désapprouvée, etc.

OriginalL'auteur Troy | 2014-03-21