为什么我有这个错误:
- ERROR/AndroidRuntime(854): Uncaught handler: thread main exiting due to uncaught exception
- ERROR/AndroidRuntime(854): java.lang.RuntimeException: Unable to instantiate receiver com.android.GPS21.SmsReceiver: java.lang.ClassNotFoundException: com.android.GPS21.SmsReceiver in loader dalvik.system.PathClassLoader@43d02ef0
- ERROR/AndroidRuntime(854): Caused by: java.lang.ClassNotFoundException: com.android.GPS21.SmsReceiver in loader dalvik.system.PathClassLoader@43d02ef0
这是我的onReceive活动:
- public void onReceive(Context context,Intent intent) {
- // TODO Auto-generated method stub
- Log.i(LOG_TAG,"Recieved a message");
- if (intent.getAction().equals(ACTION)) {
- // if(message starts with SMStretcher recognize BYTE)
- StringBuilder sb = new StringBuilder();
- // The SMS-Messages are 'hiding' within the extras of the Intent.
- Bundle bundle = intent.getExtras();
- if (bundle != null) {
- // Get all messages contained in the Intent
- // Telephony.Sms.Intents.getMessagesFromIntent(intent) does not
- // work anymore hence the below changes
- Object[] pduObj = (Object[]) bundle.get("pdus");
- SmsMessage[] messages = new SmsMessage[pduObj.length];
- for (int i = 0; i < pduObj.length; i++)
- messages[i] = SmsMessage.createFromPdu((byte[]) pduObj[i]);
- // Feed the StringBuilder with all Messages found.
- for (SmsMessage currentMessage : messages) {
- sb.append("SMS Received From: ");
- // Sender-Number
- sb.append(currentMessage.getDisplayOriginatingAddress());
- sb.append("\nMessage : ");
- // Actual Message-Content
- sb.append(currentMessage.getDisplayMessageBody());
- }
- }
- // Logger Debug-Output
- Log.i(LOG_TAG,"[SMSApp] onReceive: " + sb);
- // Show the Notification containing the Message.
- Toast.makeText(context,sb.toString(),Toast.LENGTH_LONG).show();
- }
在调试中,onReceive()是错误的.
我只是让BroadcastReceiver收到短信,并通知Toast ..
我尝试从DDMS发送短信,出现错误.
解决方法
你的清单声称你有一个名为com.android.GPS21.SmsReceiver的类,Android找不到它.