所以我尝试设置按钮颜色。它是这样的:
if (D) {Log.d(TAG, "color =" + bytes);};
int c = Color.argb(bytes[4], bytes[3], bytes[2], bytes[1]);
btnStart.setBackgroundColor(c);
if (D) {Log.d(TAG, "color " + bytes[4]+ bytes[3]+bytes[2]+ bytes[1]);};
break;
我得到以下输出到 LogCat: color = [B@40534710 color -1-1-1-1 这是怎么回事?我期待在数组中看到一些其他值,而不是-1 ...
这是完整的代码
mainHandler=new Handler(){
public void handleMessage(Message msg) {
switch (msg.what){
case TOAST:
Bundle bundle = msg.getData();
String string = bundle.getString("myKey");
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
break;
case NEW_SMS:
if (D) {Log.d(TAG, "newSms recieved");}
byte[] bytes =(byte[]) msg.obj;
switch (bytes[0]){
case SMS_TEXT:
bytes = shiftArrayToLeft(bytes);
String readMessage = new String(bytes, 0, msg.arg1);
txtView.setText(readMessage);
break;
case SMS_COLOR:
if (D) {Log.d(TAG, "color =" + bytes);};
//LinearLayout lLayout = (LinearLayout) findViewById(R.id.lLayout);
int c = Color.argb(bytes[4], bytes[3], bytes[2], bytes[1]);
btnStart.setBackgroundColor(c);
if (D) {Log.d(TAG, "color " + bytes[4]+ bytes[3]+bytes[2]+ bytes[1]);};
break;
}
}
}};
这是处理蓝牙消息的处理程序