http://blog.csdn.net/chenshijun0101/article/details/9195171

解决方案 »

  1.   


    你可以搜索下,代码执行shell命令
      

  2.   


    你可以搜索下,代码执行shell命令http://blog.csdn.net/randyrhoads/article/details/7986650???
      

  3.   


    你可以搜索下,代码执行shell命令http://blog.csdn.net/randyrhoads/article/details/7986650???就里面rumcmd的方法
      

  4.   

    http://blog.csdn.net/chenshijun0101/article/details/9195171这是重启应用程序 不是重启系统好不啦
      

  5.   


    你可以搜索下,代码执行shell命令http://blog.csdn.net/randyrhoads/article/details/7986650???就里面rumcmd的方法请问runCmd如何使用,系统不识别该方法啊?
      

  6.   


    你可以搜索下,代码执行shell命令http://blog.csdn.net/randyrhoads/article/details/7986650???就里面rumcmd的方法请问runCmd如何使用,系统不识别该方法啊?那个是自定义的方法,就是执行shell命令的
    try { 
            Runtime runtime = Runtime.getRuntime(); 
            Process proc = runtime.exec(“reboot”); 
            
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
      

  7.   


    你可以搜索下,代码执行shell命令http://blog.csdn.net/randyrhoads/article/details/7986650???就里面rumcmd的方法请问runCmd如何使用,系统不识别该方法啊?那个是自定义的方法,就是执行shell命令的
    try { 
            Runtime runtime = Runtime.getRuntime(); 
            Process proc = runtime.exec(“reboot”); 
            
        } catch (IOException e) { 
            e.printStackTrace(); 
        } [code=java] @Override
    public void onClick(View v) {
    switch(v.getId()){
    case R.id.btn_machine1:{
    carding_machine1.setSelected(true);
    carding_machine2.setSelected(false);
    CardingMachineCanCommandSet.getInstance().powerOnInitialParameter();
    MachineParameterSharedPreference.getInstance().setMACHINEMODEL("1203");
    CardingMachineCanCommandSet.getInstance().setMachineSelect(false);
    }
    break;
    case R.id.btn_machine2:{
    carding_machine1.setSelected(false);
    carding_machine2.setSelected(true);

    }
    break;

    case R.id.btn_flat_control_motor:{
    btn_flat_control_mchinery.setSelected(false);
    btn_flat_control_motor.setSelected(true);
    MachineParameterSharedPreference.getInstance().setCurrentFlatControl("1");
    CardingMachineCanCommandSet.getInstance().setFlatSelect(true);
    }
    break;
    }
     // 重启 
    try {
    Thread.sleep(SAVE_INTERVAL_TIME);
    runCmd("reboot");
    System.out.println("execute cmd--> reboot\n" + "重启");  
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
     
    }

    private String runCmd(String command) throws InterruptedException {
    // TODO Auto-generated method stub
    try { 
            Runtime runtime = Runtime.getRuntime(); 
            Process proc = runtime.exec(command); 
            int exitVal = proc.waitFor(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    return null;
    }  [/code]不报错,不重启,是怎么回事?需要给apk签名吗?
      

  8.   

    root权限获取就比较复杂了,比如挖掘0day漏洞,编写shellcode然后拿到权限,执行su,这么危险的操作,是个软件随便调用下,手机厂商可是要背黑锅的,谷歌也是要背黑锅的
      

  9.   

    结贴// 延时3秒重启 
    try {
    Thread.sleep(SAVE_INTERVAL_TIME);  
    } catch (InterruptedException e) {
    e.printStackTrace();
    }

    PowerManager pManager=(PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);  
            pManager.reboot("重启");  
            System.out.println("execute cmd--> reboot\n" + "重启");
    最后要注意编译时在AndroidManifest中添加<uses-permission android:name="android.permission.REBOOT" />获取权限方能测试该功能;