本帖最后由 xiaonaihe 于 2014-03-01 23:53:05 编辑

解决方案 »

  1.   

    测试了下发现直接用button来intent到新activity也出错,那应该是跳转后的activity的问题么?
      

  2.   


    // 接受广播 电池电量监听
    private BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) {
    if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
    int level = intent.getIntExtra("level", 0);
    int scale = intent.getIntExtra("scale", 100);
    batteryLevel = (level * 100 / scale) + "%";
    setDeviceInfo();
    }
    }
    };
      

  3.   

    第一,你看这个activity在AndroidManifest.xml里面注册没有;
    第二,把报错的log贴出来看下哈
      

  4.   

    注册了的,后来发现是
    + "\n设备 ID:"+ tm.getDeviceId()/
    + "\n手机号:" + tm.getLine1Number()
    + "\n软件版本号:" + tm.getDeviceSoftwareVersion()虚拟机运行这个会出错。注销了这几行就没问题了。但是单独运行,直接打开这个activity,不用intent跳转到这个activity就没问题。这是为什么
      

  5.   

    03-04 04:53:00.447: E/AndroidRuntime(1759): FATAL EXCEPTION: main
    03-04 04:53:00.447: E/AndroidRuntime(1759): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.energysavingofmobilephone/com.example.energysavingofmobilephone.SysInformation}: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10047 nor current process has android.permission.READ_PHONE_STATE.
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.os.Handler.dispatchMessage(Handler.java:99)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.os.Looper.loop(Looper.java:137)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread.main(ActivityThread.java:5041)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at java.lang.reflect.Method.invokeNative(Native Method)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at java.lang.reflect.Method.invoke(Method.java:511)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at dalvik.system.NativeStart.main(Native Method)
    03-04 04:53:00.447: E/AndroidRuntime(1759): Caused by: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10047 nor current process has android.permission.READ_PHONE_STATE.
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.os.Parcel.readException(Parcel.java:1425)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.os.Parcel.readException(Parcel.java:1379)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getDeviceSvn(IPhoneSubInfo.java:203)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.telephony.TelephonyManager.getDeviceSoftwareVersion(TelephonyManager.java:187)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at com.example.energysavingofmobilephone.SysInformation.setDeviceInfo(SysInformation.java:153)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at com.example.energysavingofmobilephone.SysInformation.onCreate(SysInformation.java:112)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.Activity.performCreate(Activity.java:5104)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    03-04 04:53:00.447: E/AndroidRuntime(1759):  ... 11 more
    03-04 04:53:44.937: I/Process(1759): Sending signal. PID: 1759 SIG: 9
      

  6.   

    需要添加权限吧, Requires READ_PHONE_STATE