2014-10-05 27 views
0

我的目标是需要从BroadcastReceiver获取SMS详细信息,获取SMS后,我将这些信息存储在Object中,之后无法投射那成字节将其存储在字符串变量... 这里是我的代码,我是新来的Java和Android的PLZ帮我在这createFromPdu((byte [])smsobject [i])无法转换为BroadCastReceiver中的byte []

public void onReceive(Context context, Intent intent) { 
    String Orgi_Phonenumber = ""; 
    final Bundle bundle = intent.getExtras(); 
    if (bundle != null) { 
     Log.i("MyMessage", "start reading message information"); 
     Object[] smsobject = new Object[] { (Object) bundle.get("pdus") }; 
     for (int i = 0; i < smsobject.length; i++) { 
      SmsMessage CurrentMessage = SmsMessage 
        .createFromPdu((byte[]) smsobject[i]); 
      Orgi_Phonenumber += CurrentMessage.getOriginatingAddress(); 
     } 

    } 
} 

以下行创建问题

SmsMessage CurrentMessage = SmsMessage.createFromPdu((byte[]) smsobject[i]); 

错误是java.lang.RuntimeException:无法开始接收com.example.receivesms.IncomingSms:java.lang.ClassCastException:java.lang.Object继承[]不能转换为byte []

而PLZ给我解释一下是什么原因导致了上述错误

回答

0

试试

Object[] smsobject = (Object[]} bundle.get("pdus"); 
+0

嘿谢谢你的回复,这一个工作..... – Elavarasan 2014-10-05 18:43:05

相关问题