在看verycd上的视频教程。按照教程里讲得做了最简单的短信broadcastreceiver,是在代码里注册广播的,代码如下:
class StartSmsListener implements OnClickListener
   {
    
     public void onClick(View v)
     {
  //注册短信接收Receiver
smsBroatCastReceiver = new SMSBroatCastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(SMS_ACTION);
MyTestActivity.this.registerReceiver(smsBroatCastReceiver, filter);
System.out.println("StartSms onClickListener");
     }
    }
SMSBroatCastReceiver.java代码:
public class SMSBroatCastReceiver extends BroadcastReceiver
{
    public void onReceive(Context context, Intent intent)
    {
    System.out.println("SmsBroadReceiver onReveive....");
    }
}
加载模拟器运行后,点击注册广播按钮都正常运行,但是在接收短信后,报错如下:
09-01 15:23:38.781: ERROR/ContactsProvider(260): Cannot determine the default account for contacts compatibility
09-01 15:23:38.781: ERROR/ContactsProvider(260): android.accounts.AuthenticatorException: bind failure
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1096)
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at android.accounts.AccountManager.access$500(AccountManager.java:74)
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at android.accounts.AccountManager$BaseFutureTask$Response.onError(AccountManager.java:1003)
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at android.os.Binder.execTransact(Binder.java:287)
09-01 15:23:38.781: ERROR/ContactsProvider(260):     at dalvik.system.NativeStart.run(Native Method)
这事怎么回事呢?和视频教程里的代码一样啊!
谢谢各位指点下啊!

解决方案 »

  1.   

    google了下,有人说是:
    you don't have any accounts registered on your virtual device.
    这事什么意思?
      

  2.   

    多试了几次,错误变成:
    09-01 15:36:03.862: DEBUG/MediaPlayer(52): Couldn't open file on client side, trying server side
    09-01 15:36:03.882: ERROR/MediaPlayerService(31): Couldn't open fd for content://settings/system/notification_sound
    09-01 15:36:03.892: ERROR/MediaPlayer(52): Unable to to create media player
    09-01 15:36:03.901: WARN/NotificationService(52): error loading sound for content://settings/system/notification_sound
    09-01 15:36:03.901: WARN/NotificationService(52): java.io.IOException: setDataSource failed.: status=0x80000000
    09-01 15:36:03.901: WARN/NotificationService(52):     at android.media.MediaPlayer.setDataSource(Native Method)
    09-01 15:36:03.901: WARN/NotificationService(52):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:699)
    09-01 15:36:03.901: WARN/NotificationService(52):     at android.media.AsyncPlayer.startSound(AsyncPlayer.java:62)
    09-01 15:36:03.901: WARN/NotificationService(52):     at android.media.AsyncPlayer.access$200(AsyncPlayer.java:33)
    09-01 15:36:03.901: WARN/NotificationService(52):     at android.media.AsyncPlayer$Thread.run(AsyncPlayer.java:99)
    越来越迷糊了。
      

  3.   

    重启了下模拟器。增加了perssion,就好了。结贴啦!