zoukankan      html  css  js  c++  java
  • android系统关机重启

    android 系统关机,重启

      1.android系统的关机,重启代码位于frameworksasecorejniandroid_os_Power.cpp,里面有

      static void android_os_Power_shutdown(JNIEnv *env, jobject clazz)

      {/*关机*/

      sync();

      #ifdef HAVE_ANDROID_OS

      reboot(RB_POWER_OFF);

      #endif

      }

      static void android_os_Power_reboot(JNIEnv *env, jobject clazz, jstring reason)

      {/*重启*/

      sync();

      #ifdef HAVE_ANDROID_OS 内陆运输

      if (reason == NULL) {

      reboot(RB_AUTOBOOT);

      } else {

      const char *chars = env->GetStringUTFChars(reason, NULL);

      __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,

      LINUX_REBOOT_CMD_RESTART2, (char*) chars);

      env->ReleaseStringUTFChars(reason, chars); // In case it fails.

      }

      jniThrowIOException(env, errno);

      #endif

      }

      2.最终会调用到linux中的sys_reboot,所以我们还是可以做到在android中加入重启功能的;

      关机和重启在Linux Kernel中的哪些函数里实现。

      reboot的最终实现在arch_reset()函数,它通常定义在arch/arm/mach-xxx/include/mach/system.h里。system.h被ARM kernel的public code应用,因此你需要定义这个头文件,并实现它。

      arch_reset的函数原型为 女装品牌排行榜

      void arch_reset(char mode)

      void arch_reset(char mode)

      关机需要将pm_power_off这个函数指针指向你自己的实现函数。函数指针是这样定义的

      void (*pm_power_off)(void); ......

  • 相关阅读:
    (转载)_信息安全入门指南
    经历--比赛绿盟_安全研究员
    Python正则表达式操作指南
    web 安全学习
    2014-9-10中午睡觉的一个梦
    渗透工具学习
    CVE 2013-3897
    STL 学习
    设置chrome 可以保存mht网页
    合并windows7系统下的两个IE8浏览器进程
  • 原文地址:https://www.cnblogs.com/sky7034/p/2125829.html
Copyright © 2011-2022 走看看