1

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

なぜアドレスは私が見たものと同じなのに、それでも違いがあることを示しているのですか????

4

1 に答える 1