1

おそらく質問は奇妙に思えますが、実際にはそうではありません:)

さまざまな Android タブレットで実行されるアプリケーションを構築します。

各タブレットの一意の識別子を見つけることについても小さな問題がありましたが、wifi と bluetooth の MAC アドレスを見つけることにしました。

Android のドキュメントを読みましたが、質問に対する回答が見つかりませんでした。bluetoothサービスがオフになっていても、bluetoothAdapter.getAddress()で作業しているデバイスで実際のbluetooth MACアドレスが返されるため、本当に奇妙です。理由はわかりませんが、これは問題ではありません。すべての Android タブレットが私のものほど特別であるとは限らず、サービスがオフの場合、すべての Android タブレットが Bluetooth MAC アドレスを返すわけではないと思います。しかし、実際には bluetoothAdapter.getAddress() が正常に返すものは何ですか? サービスがオフの場合は NULL を返しますか?

単純にサービスをオンにして MAC アドレスを見つけない理由を知りたい場合は、それは理にかなっていることをお伝えします。アプリの目的は、デバイス間の Bluetooth 通信などとは何の関係もありません。そのため、ユーザー側から見ると、アプリを開いたときに、アプリが距離を測定するためのものであっても、タブレットに Bluetooth サービスが必要であることがわかります。

私の質問に答えたり、ヒントをくれたりする人に感謝します!そしておそらく解決策:ユーザーが知らないうちにBluetoothサービスをオンにする方法。どうも ;)

4

2 に答える 2

1

このコードを使用して Bluetooth サービスを有効にします

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                        startActivityForResult(enableBtIntent, RESULT_OK);
于 2012-12-20T10:47:37.553 に答える
1

インストールの一意の識別に関するかなり古いが非常に役立つ投稿..ここで見つけてください

追加のコメント: 私の意見では、アプリが実際に BT を必要としない場合に、Bluetooth パーミッションをアプリ マニフェストに追加するのは本当に悪いことです.アプリが私の許可なしに、いくつかのウーブリー・ジュブリーの回避策を使用して BT をオンにするとイライラします..成功したアプリが必要な場合は、ユーザーを尊重してください

乾杯

于 2013-09-05T09:36:17.417 に答える