Android Bluetooth à partir de l'intérieur du Service

J'ai un service qui, théoriquement, ne peut fonctionner sans une Activité associée à elle (en tant que "services" sont destinés à la plate-forme Android).

Ce service utilise la technologie Bluetooth, en particulier les registres d'un Service Bluetooth avec un Nom donné à l'écoute pour les communications. De cours de travail, il doit avoir le Bluetooth activé.

Ainsi qu'il est indiqué sur le Bluetooth de l'api docs je suis en utilisant le BluetoothAdapter.ACTION_REQUEST_ENABLE pour inviter l'utilisateur à activer le Bluetooth dans le cas où il n'est pas déjà fait. Ceci, cependant, est une activité, et doit donc être appelée à partir d'une autre activité, c'est à dire:

Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
InstanceOfAnActivity.startActivity(enableIntent);

Ce que je veux réaliser est d'avoir le service (qui, par exemple, démarre au démarrage), complètement découplé de toute Activité, et, par conséquent, n'aurait pas le InstanceOfAnActivity pour le démarrage de la pop-up demandant à l'utilisateur d'activer le Bluetooth.

Maintenant, je sais qu'il y a le (tristement célèbre) appel à BluetoothAdapter.enable(), mais le doc a dit que ça ne devrait pas être appelée directement.

Toute l'astuce/solution à ce dilemme? (C'est peut-être facile et je suis juste en manque de quelque chose...)

C'est quelques mois plus tard, et je me demandais si vous étiez en mesure de surmonter ce problème?
Comment la "Beautiful widgets" pour activer bluetooth sans autorisation de l'utilisateur ?

OriginalL'auteur cloud | 2010-03-09