2016-09-20 7 views
0

私はBTディスカバリを120秒間オンにする小さなアプリを書いています galaxy 6s(5.0.1)とgalaxy 6s(6.0.1)とMeizu MX4、onePlus 1とより、彼らはAndroidのバージョン6.0.1-- を持つすべてのネクサスデバイス--exceptこれは私がAndroid - nexusデバイスでのBluetoothディスカバリタイムアウトなし

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

理由を明示するために、これらの権限を追加コード -

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,120); 
startActivity(discoverableIntent); 

ですNexus端末でのみ動作していますか?

+0

[こちら](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html)のドキュメントをお読みになりましたか? – Takarii

+0

はい、それは役に立ちません –

+0

誰かがNexusデバイスでのみ起こったことを知っていますか? –

答えて

0

AndroidのバージョンがAndroid 6.xの場合は、マニフェストにACCESS_COURSE_LOCATION権限を追加する必要があると思います。

チェックこのリンク:たとえば - https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id

は、BluetoothとWi-Fiのスキャンを経由して近くの外部デバイスのハードウェア識別子にアクセスするには、あなたのアプリが今ACCESS_FINE_LOCATIONまたはACCESS_COARSE_LOCATION権限を持っている必要があります

+0

私はこれらの2つの許可を持っていますが、問題は私のコードがネクサスの電話機を発見可能にし、私の電話機を120秒間発見可能にすることに同意するというメッセージが表示され、私はOKを押します。問題は120秒間しかし!永遠に1時間以上発見可能ですが、私はそれがGoogleのバグだと思いますか? –

+0

私はこれはいくつかのデバイスのBluetoothの設定が変更されるかもしれないGoogleのバグではないと思う。 Bluetoothのスキャン設定を変更してから、コードを確認してください。 nexus 5xでコードをテストしたところ、120秒後にデバイスが検出されないという問題がありました。 –

+0

あなたはどのAndroidバージョンですか?ちなみにアンドロイド7を搭載したネクサス6Pでは再生できません。アップグレードする前に、それが起こりました。 –

関連する問題