当前位置: 首页 > news >正文

中国网站建立网站批复

中国网站,建立网站批复,百度的seo排名怎么刷,奉新网站建设一、Android系统重启的实现方式 1、广播方式 之前的博文介绍过这种方式《使用广播实现的Android关机及重启》#xff0c;注意应用要在源码中编译#xff0c;并且应用需要系统权限。 2、通过init.rc启动系统服务来运行sh文件 a.重启shell文件#xff08;system_reboot.sh注意应用要在源码中编译并且应用需要系统权限。 2、通过init.rc启动系统服务来运行sh文件 a.重启shell文件system_reboot.sh放在system/etc/目录下 [java] view plain copy #!/system/bin/sh    reboot   b.init.rc中加入一个Service的定义 [java] view plaincopyservice system_reboot /system/etc/system_reboot.sh    oneshot    disabled  c.启动系统服务 [java] view plaincopySystemProperties.set(ctl.start, system_reboot);   3、直接代码中执行命令行 需要取得root权限 [java] view plain copy Process proc  Runtime.getRuntime().exec(cmd);       以上三种方法可以实现重启但现在需要实现长按关机键提示对话框中有重启选项这就设计修改系统源码感觉修改源码是个很难的工作其实找到关机提示框的代码位置一切都变得很简单。 二、修改源码定制重启功能 1、跟踪长按Power键相关代码 首先要了解长按电源键弹出对话框的相关源码位置通过跟踪找到PhoneWindowManager.java中有截断长按电源键的方法继续跟踪代码找到Runnable mPowerLongPress  new Runnable()在该runnable里边调用showGlobalActionsDialog()方法便是显示长按power键弹出的关机提示对话框如果你的机器是原生态的默认提示“飞行模式”“静音”和“关机”选项。 showGlobalActionsDialog创建关机对话框的代码在GlobalActions.java里边主要代码如下 [java] view plain copy private AlertDialog createDialog() {  ……  mItems  new ArrayListAction();            // first: power off          mItems.add(              new SinglePressAction(                      com.android.internal.R.drawable.ic_lock_power_off,                      R.string.global_action_power_off) {                    public void onPress() {                      // shutdown by making sure radio and power are handled accordingly.                      ShutdownThread.shutdown(mContext, true);                  }                    public boolean showDuringKeyguard() {                      return true;                  }                    public boolean showBeforeProvisioning() {                      return true;                  }              });            // next: airplane mode          mItems.add(mAirplaneModeOn);            // last: silent mode          if (SHOW_SILENT_TOGGLE) {              mItems.add(mSilentModeAction);          }  ……     2、重启方法 跟踪源码到此处需要加入重启部分的源码也是往AlertDialog 添加多一项显示部分的代码直接造这power off即可需要加入重启逻辑的代码直接修改回调方法onPress里边上边代码粗体部分一开始我尝试了前文中提示的三种方法中的方法一和方法三均行不通后来也没再进一步排查原因估计权限问题。 本打算使用方法二再尝试一下突然想到为何不去看看关机的逻辑代码ShutdownThread.shutdown()打开ShutdownThread.java很快就发现源码里边也有reboot的实现方法如下 [java] view plain copy /**      * Request a clean shutdown, waiting for subsystems to clean up their      * state etc.  Must be called from a Looper thread in which its UI      * is shown.      *      * param context Context used to display the shutdown progress dialog.      * param reason code to pass to the kernel (e.g. recovery), or null.      * param confirm true if user confirmation is needed before shutting down.      */      public static void reboot(final Context context, String reason, boolean confirm)       ……          该方法的使用直接看注释知道reboot方法的后两个参数解释如下 reason  如果值为是null正常重启如果是recovery系统重启进入recovery mode confirm true显示关机提示框需要用户【确认】false不显示提示框直接关机 3、代码修改 a.在关机提示框中加入重启选项 弄清楚关机相关的源码直接在GlobalActions.java的createDialog方法中加入如下代码即可 [java] view plain copy ...  ext: reboot global_action_reboot    mItems.add(     new SinglePressAction(                com.android.internal.R.drawable.ic_lock_power_off,                R.string.global_action_reboot) {              public void onPress() {          // reboot             ShutdownThread.reboot(mContext,null,false);                          }              public boolean showDuringKeyguard() {                return true;            }              public boolean showBeforeProvisioning() {                return true;            }        });   b.修改重启提示框以区分关机提示框 因为提示框默认是“关机”在ShutdownThread.java的beginShutdownSequence(context)方法中代码修改如下 [java] view plain copy /*/ //修改前 ……  pd.setTitle(context.getText(com.android.internal.R.string.power_off));  pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress)); …… /*/  //修改后  ……  if(mReboot){     // reboot progress           pd.setTitle(context.getText(com.android.internal.R.string.global_action_reboot));           pd.setMessage(context.getText(com.android.internal.R.string.reboot_progress));       }else{          // shutdown progress           pd.setTitle(context.getText(com.android.internal.R.string.power_off));           pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));       }  ……  //*/   重启功能实现了但是不能到此结束定制Android系统的重启功能添加选项和修改重启提示框时加入了“重启”和“正在重启”的字符串所以会涉及到在系统资源文件中添加新的字符串源码中资源文件涉及到的多国语言直接忽略我只在values/strings.xml和values-zh-rCN/strings.xml两个文件中加入对应的字符串 [html] view plain copy string nameglobal_action_reboot重启/string  string namereboot_progress正在重启.../string   c.最后编译 因为修改涉及到系统资源文件又涉及到policy.jar包经过多次尝试正确的编译顺序如下 步骤1.编译frameworks/base/res在out/target/product/X设备名X/system/framework/目录下生成framework-res.apk 步骤2.编译frameworks/base/在o同样目录下生成framework.jar包不能忽略不然步骤3编译报错 步骤3.编译frameworks/base/policy在同样目录下生成policy.jar包 附录 本例源码以Android 4.0.4为准2.3一样关机相关的源码路径 ics/frameworks/base/policy/src/com/android/internal/policy/impl/目录下 PhoneWindowManager.java GlobalActions.java ics/frameworks/base/core/java/com/android/internal/app/目录下 ShutdownThread.java PS:4.1.1 关机相关方法位置有些变化 源码已经把关机的接口整合到 public classWindowManagerService extends IWindowManager.Stub         implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs{...}中 不过可以直接使用 import com.android.server.pm.ShutdownThread; ShutdownThread.shutdown(mContext, true); ShutdownThread.rebootSafeMode(mContext, true); 文件路径 Android4.1.1/jb/frameworks/base/services/java/com/android/server/pm/ ShutdownThread.java Android4.1.1/jb/frameworks/base/services/java/com/android/server/wm WindowManagerService.java
http://www.w-s-a.com/news/891847/

相关文章:

  • 青岛网站建设服务器wordpress迁移跳转原网站
  • 泰安网站建设哪里有公司如何注册网站
  • 做网站开专票税钱是多少个点上海市有哪些公司
  • 寿县有做网站开发的吗宁波网站建设方式
  • 网站建设和网站推广服务器怎么发布网站
  • 比较好的摄影网站雅安市政建设公司网站
  • 网站与微信区别wordpress 站内信
  • 宁夏网站开发设计说明书源码下载脚本之家
  • 邱县做网站百度搜索排名机制
  • 运城个人网站建设智慧团建系统官方网站登录
  • 公司营业执照可以做几个网站一家专门做母婴的网站
  • 网站建设商标属于哪个类别搜狗seo快速排名公司
  • 织梦做商城网站企业网络建站
  • 网站后期维护都有什么wordpress首页加图片
  • 展会网站怎么做网页设计与制作教程版徐洪亮课后答案
  • 石景山网站建设设计公司建设网站怎么建立服务器
  • 本地生活服务平台app网站关键词优化原理
  • 建网站的公司叫什么重庆论坛建站模板
  • 湖北网站制作公司银川网站建设哪家不错
  • 网站后台演示地址服装网站建设公司推荐
  • 湖北钟祥建设局网站旅游哪个网站最好
  • 浙江建设工程信息网站辽宁建设工程信息网场内业绩什么意思
  • 郑州做网站公司 汉狮网络专业图片搜集网站怎么做
  • 网站托管是什么品牌推广营销平台
  • 制作网站的难度贵州省兴义市建设局网站
  • 永春建设局网站室内设计师培训班学费多少
  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司