2015-09-10 23 views
5

アプリケーションは、両方の場所とBLEを使用し、場所やBluetoothが無効になっている場合、私はそれらを有効にするために、ユーザーに依頼する必要があります。ポップアップ方法Google PlayサービスからBluetoothプロンプトを有効にしますか?私が働いている

最新のGoogle Playのサービスを行うための標準的な方法を提供し、その要件をチェックし、設定の変更が必要な場合は、標準のポップアップを上げるLocationSettingsRequestを使用します。それだけでは場所のための魔法のように動作しますが、私はLocationSettingsRequestSetNeedBle (true)を追加したら、私は状況SETTINGS_CHANGE_UNAVAILABLEを取得します。

ザ・唯一の私の推測では、私はそれがBLE機能のために不可欠であるかもしれないとGoogleApiClientBuilderAddApi (FitnessClass.BLE_API)呼び出しを追加する必要があるが、その後、私はグーグルへの接続がサービスは、私はちょうどのBLE一部を必要と紛らわしいですSIGN_IN_REQUIRED状態で失敗しました再生ましたフィットネスサービス。

誰もが場所とBluetoothの両方のために、ユーザに促すためにLocationSettingsRequest使用方法の良い例を知っていますか?

Location popup

答えて

0

ルックは、予想通り8.1.0そうSetNeedBle (true)作品に固定されています:

enter image description here

1

あなたは非常に接近しています。 LocationSettingsRequest.BuilderでBLEを求めるためのダイアログボックスをポップアップ表示されますsetNeedBle(boolean needBle)あります。 BLEの場所にFitness APIを使用しないでください。

また電話がBLEがマニフェストに追加することで有効であることを確認します。

<manifest> 
<uses-feature 
     android:name="android.hardware.bluetooth_le" 
     android:required="false" /> 
</manifest> 

次に、あなたのコードで:

if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { 
    //has BLE 
} 

とGoogleからあなたが求めるSettingApiを使用することができるサービスを再生します利用可能な機能についてこのガイドには、その使用方法の完全な例が含まれています。それのような

https://developers.google.com/android/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html#setNeedBle(boolean)

+0

私は前にこれを試してみましたが、私が取得することは 'SETTINGS_CHANGE_UNAVAILABLE'の状態です。実際のサンプルがありますか? – Mikhail

+0

あなたはどのAndroidのバージョンをターゲットにしていますか? ' xiaomi

+0

アプリケーションはすでにマニフェストの行を記述していました。 Samsung Galaxy S3(4.3)とLG G3(5.0)では 'setNeedBle(boolean)'を試してみました。両方とも、私に 'SETTINGS_CHANGE_UNAVAILABLE'をくれました。 – Mikhail

関連する問題