2012-05-10 3 views
0

現在実行中のプログラムであるAndroidデバイスの名前を変更しようとしています。これは、デバイスの名前に他の携帯電話と通信する際に関連する情報が含まれるためです。電話機は他の電話機をスキャンして情報を計算するため、電話機の名前は常に変更されます。どのようにJavaコード内の電話の名前を変更する上で任意のアイデア?私は数行以上のコードをイメージすることはできませんが、何も見つかりません。 ありがとうございます。コード内のAndroidデバイス名を変更する

+0

[Android Bluetoothデバイスの名前を変更する](http://stackoverflow.com/questions/8377558/change-the-android-bluetooth -device-name) –

答えて

1

ローカルデバイスを参照してsetName("newName");と呼ぶBluetoothアダプタのインスタンスを取得するのは簡単です(設定できる唯一の名前はBluetoothの名前です)。

BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter(); 
       myDevice.setName("new name"); 

引用ドキュメント:

有効なブルートゥース名は多くのリモートデバイスのみ最初の40個の文字を表示することができるが、UTF-8エンコーディングを使用して、248バイトの最大値であり、一部であってもよいですわずか20に制限されています。

デバイス名には何を設定するか注意してください。ああ、別のノートでは、デバイスのBluetoothがオフの場合は名前を変更できません。だから、次の行にものになるだろう確認した後、実際のコード:

に注意することが重要
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter(); 
if(myDevice.getState() == BluetoothAdapter.STATE_ON){ 
    myDevice.setName("new name"); 
} 

を使用すると、エミュレータ上でこれをテストしようとしている場合は、ブルートゥース機能がオンに存在しないことを注意してくださいエミュレータとそのためgetDefaultAdapter()メソッドはnullを返し、結果はNullPointerExceptionとなります。

+0

うん、それはブルートゥースだったと言わざるを忘れましたが、これは正しいようです。私は機会があるときに後でそれを試し、あなたが正しいかどうかを知らせます。本当にありがとう。 – johns4ta

+0

@ user1153018あなたの後ろのものなら、+1して受け入れるのを忘れないでください。アダプターがオンになっていることを確認するための状態チェックを含む、完全なコードの更新バージョンを確認してください。 –

+0

それは答えであり、私はあなたの答えを+1するのに十分な高い担当者をまだ持っていません。 – johns4ta

関連する問題