zoukankan      html  css  js  c++  java
  • Android 系统 reboot

    /***********************************************************************
     *                        Android 系统 reboot
     * 说明:
     *     由于需要对Android系统采用自动重启测试,为了方便觉得让app接收开机
     * 广播,然后又自动关机,貌似有点蛋疼。
     *
     *                                   2016-5-18 深圳 南山平山村 曾剑锋
     **********************************************************************/
    
    
    一、参考文章:
        1. Restart android device programmatically
            http://stackoverflow.com/questions/32984849/restart-android-device-programmatically
        2. INSTALL_FAILED_UPDATE_INCOMPATIBLE和INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
            http://blog.csdn.net/happyhell/article/details/5903389
        3. Android: android.content.res.Resources$NotFoundException: String resource ID #0x5
            http://stackoverflow.com/questions/11189545/android-android-content-res-resourcesnotfoundexception-string-resource-id-0x
    
    二、解决办法:
        1. 设置权限:
            <permission android:name="android.permission.REBOOT"/>
        2. 设置系统UID:
            <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                package="com.aplex.autoreboot"
                android:versionCode="1"
                android:versionName="1.0" 
                android:installLocation="preferExternal"
                android:sharedUserId="android.uid.system">
        3. 重启代码:
            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
            pm.reboot(null);
        4. Android.mk
            LOCAL_PATH:= $(call my-dir)
            include $(CLEAR_VARS)
    
            LOCAL_MODULE_TAGS := optional
    
            LOCAL_SRC_FILES := $(call all-java-files-under)
    
            LOCAL_PACKAGE_NAME := AutoReboot
            LOCAL_CERTIFICATE := platform
    
            include $(BUILD_PACKAGE)
    
            # Use the folloing include to make our test apk.
            include $(call all-makefiles-under,$(LOCAL_PATH))
        5. 将工程放入Android源码packages/apps目录;
        6. 删除工程中无关目录,如bin、libs等目录;
        7. 用Android自带mmm命令编译app。
    
    三、error:
        1. error1:
            1. 错误现象:
                Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
                Please check logcat output for more details.
                Launch canceled!
            2. 解决办法:
                采用到Android源代码中去编译apk。
        2. error2:
            1. 错误现象:
                FATAL EXCEPTION: main
                android.content.res.Resources$NotFoundException: String resource ID #0x9
                    at android.content.res.Resources.getText(Resources.java:230)
                    at android.widget.TextView.setText(TextView.java:3769)
                    at com.aplex.autoreboot.MainActivity$1.handleMessage(MainActivity.java:25)
                    at android.os.Handler.dispatchMessage(Handler.java:99)
                    at android.os.Looper.loop(Looper.java:137)
                    at android.app.ActivityThread.main(ActivityThread.java:5041)
                    at java.lang.reflect.Method.invokeNative(Native Method)
                    at java.lang.reflect.Method.invoke(Method.java:511)
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                    at dalvik.system.NativeStart.main(Native Method)
            2. 解决办法:
                Handler handler = new Handler() {  
                    public void handleMessage(Message msg) {  
                        
                        Log.e("aplex", "handleMessage " + msg.what );
                        if (msg.what < 100) {
                            count.setText(msg.what + "");  // 这里要加上""
                        } else {
                            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                            pm.reboot(null);
                        }
                        Log.e("aplex", "handleMessage over " + msg.what );
                        super.handleMessage(msg);  
                    }  
                };
        
  • 相关阅读:
    2021.02.09 【ABAP随笔】-Excel高效输出工具-xlsx workbench-输出多个Sheet
    2021.02.07 【ABAP随笔】-Excel高效输出工具-xlsx workbench
    Thrift did not exit cleanly
    Docker部署Springboot项目,Invalid or corrupt jarfile /app.jar
    为jenkins设置nginx作为反向代理
    Jenkins安装报错 No valid crumb was included in request
    判断当前设备是ios还是安卓
    vue 路由跳转四种方式 (带参数)
    Vue table的column属性,render函数生成switch开关和button按钮
    H5页面自定义 pxTorem 函数进行单位转换
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5505319.html
Copyright © 2011-2022 走看看