2013-03-20 1 views
0

Debugging бит кода для соединения Bluetooth получить строку и т.д. Тем не менее, как представляется, получить ClassCastException в строке кодаClassCastException с handleMessage

String read_Message = (String) msg.obj; 

Но если бы я должен был использовать свой предыдущий бит кода и собирать байты и место в строке запускаются, но не собирают все данные в одной строке.

Неужели я что-то не произнес что-то или что-то пропустил, потому что знаю, что я что-то упускаю, но не вижу его.

Если больше требуется код вселю вверх, все остальное работает

Спасибо за любую помощь

 // The Handler that gets information back from the BluetoothService 
    private final Handler mHandler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) 
     { 
      switch (msg.what) 
      { 
      case MESSAGE_STATE_CHANGE: 
//    if (D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1); 
       switch (msg.arg1) 
       { 
       case BluetoothService.STATE_CONNECTED: 
        break; 
       case BluetoothService.STATE_CONNECTING: 
        //mTitle.setText(R.string.title_connecting); 
        break; 
       case BluetoothService.STATE_LISTEN: 
       case BluetoothService.STATE_NONE: 
        //mTitle.setText(R.string.title_not_connected); 
        break; 
       } 
       break; 
      case MESSAGE_WRITE: 
       //code to be entered here 
       break; 
      case MESSAGE_READ: 
       //Previous code 
       //byte[] read_Buf = (byte[]) msg.obj; 
       // construct a string from the valid bytes in the buffer 
       //String read_Message = new String(read_Buf, 0, msg.arg1); 

       String read_Message = (String) msg.obj; 

       if (mSmokeReadingArrayAdapter.isEmpty()) 
        mSmokeReadingArrayAdapter.add(""); 

       mAdapter_Text.set(0, mAdapter_Text.get(0).toString() + read_Message); 

       mSmokeReadingArrayAdapter.notifyDataSetChanged(); 

       organiseString(read_Message); 
       break; 
      case MESSAGE_DEVICE_NAME: 
       //code to be entered here 
       break; 
      case MESSAGE_TOAST: 
       Toast.makeText(getApplicationContext(), msg.getData().getString(TOAST), Toast.LENGTH_SHORT).show();  // shows 'alert' messages 
       break; 
      } 
     } 
    }; 

ответ

0

Проблема решена. Это связано с кодом службы bluetooth, который был определен как байтовый массив, а не строка