質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

2回答

7907閲覧

AndroidのサンプルアプリケーションBluetoothChatを用いた自動ペアリング

toshi10

総合スコア12

Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

1クリップ

投稿2015/01/22 04:22

BluetoothChatアプリを使って、
自動ペアリングを行いたいと思っています。
セキュリティ上の問題は、今のところ考えていません。
CreateBond()、SetPinを使って、行おうと、
以下の方法をしているのですが、エラーが、
wifiManeger can not be resolved to a type
The Method createBond() in the type BluetoothDevice is not applicable for the arguments()
The method convertPinToBytes(String) is undefined for the type BluetoothDevice
がでています。
どうすればいいでしょうか

lang

1private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 2@Override 3public void onReceive(Context context, Intent intent) { 4String action = intent.getAction(); 5 6Log.d(TAG, "Action:" + action); 7 8if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)) { 9Log.d(TAG, "ACTION_BOND_STATE_CHANGED"); 10BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 11WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 12WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String macAddress = wifiInfo.getMacAddress(); 13Method createBond = device.getClass().getMethod("createBond", new Class[] {}); 14boolean a = device.createBond(wifiInfo.getMacAddress()); 15boolean b = device.setPin(device.getAddress(), BluetoothDevice.convertPinToBytes("0000")); 16Log.d(TAG, "createBond:" + a + ", setPin:" + b); 17if (a && b) { 18Log.d(TAG, "AutoPairing Success !"); 19} 20}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

wifiManeger can not be resolved to a type
importにimport android.net.wifi.WifiManager;を追加すればOKかと思います。

The Method createBond() in the type BluetoothDevice is not applicable for the arguments()
これは発生しませんでした。

The method convertPinToBytes(String) is undefined for the type BluetoothDevice
これは同じことになりましたが、なぜ出るのか良く分かりませんね。BluetoothDevice.convertPinToBytes(String)はあるようですが。

あと、同じ環境でないと発生しない問題もありますので、できれば
開発環境の情報、Android StudioのバージョンやOSのバージョンなど、
それとimport文のところも書いていただけますか?


(追記)

BluetoothDevice.convertPinToBytesのところは、どうしても解決しないようでしたら、今回だけ一時的にまにあわせの代用メソッドに差し替えてしまうのも手ですね。

lang

1 public static byte[] convertPinToBytes(String s) { 2 try { 3 return s.getBytes("UTF-8"); 4 } catch (Exception e) { 5 throw new RuntimeException(e); 6 } 7 }

投稿2015/02/01 14:53

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他にBluetoothChatの自動ペアリングに関する質問を新しく2件追加されていますが、こちらの質問は解決したということでしょうか。

今どういう状況なのかが分からないと、回答者さんが判断に迷ってしまいます。

もしこの件は解決したということでしたら、解決済にしてください。
自己回答したものをベストアンサーにすれば解決済にすることができます。
そうでなければ、他の質問との関連について説明を追記してください。

よろしくお願いします。

投稿2015/01/31 12:27

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問