Android 4.3 で Bluetooth デバイスに接続する必要があるアプリケーションを開発しています。
BLE デバイスに接続すると、Main.javaの関数がDeviceControl.javaからデバイス アドレスを受け取ります。
接続した場所にデバイスアドレスを保存しましたString[] address
。
また、既にDeviceControl.javaから受信したアドレスの場合、String[] address
リストビューには表示されません。
ログを見ると、 DeviceControl.javaと String 配列から受け取る文字列の値は同じです。アドレス[0] = 90:59:AF:0B:8A:AC アドレス = 90:59:AF:0B:8A:AC
しかし、それはまだリストビューにアドレスを表示していますif else function
。
これは私のコードです:
public class Main extends Activity {
private String[] address = {"0","1","2","3","4","5"};
private String mdeviceAddress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mdeviceAddress = infoIntent.getStringExtra(EXTRAS_DEVICE_ADDRESS);
address[0] = mdeviceAddress;
devicelist = (ListView) findViewById(R.id.devicelist);
for(int i=0;i<3;i++) {
}
if(address[i] == mdeviceAddress){
Log.v(TAG, "address double :" + mdeviceAddress);
break;
}else if(address[i].length() == 1) {
address[i] = mdeviceAddress;
name[i] = mdevicename;
rssi[i] = rssithreshold;
tempaddress = address[i];
Log.v(TAG, "show the address :" + address[0]);
break;
}
}
}
それは常にメッセージを表示します: show the address : 90:59:AF:0B:8A:AC
なぜアドレスは私が見たものと同じなのに、それでも違いがあることを示しているのですか????