Android重启应用和重启手机

Android重启应用和重启手机重启应用privatevoidrestartApp(){finalIntentintent=getPackageManager().getLaunchIntentForPackage(getPackageName());intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);sta

Android重启应用和重启手机"

重启应用

private void restartApp() {  
        final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());  
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
        startActivity(intent);  
} 

RunTime重启手机

 case R.id.shutdown_btn3:
                try{
                    Log.v(TAG, "root Runtime->shutdown");
                    //Process proc =Runtime.getRuntime().exec(new String[]{
  
  "su","-c","shutdown"});
                    Process proc =Runtime.getRuntime().exec(new String[]{
  
  "su","-c","reboot -p"});
                    proc.waitFor();
                }catch(Exception e){
                    e.printStackTrace();
                }
                break;
            case R.id.reboot_btn3:
                try { 
                    Log.v(TAG, "root Runtime->reboot");
                    Process proc =Runtime.getRuntime().exec(new String[]{
  
  "su","-c","reboot "});
                    proc.waitFor();
                }catch (Exception ex){
                    ex.printStackTrace();
                }
                break;

反射调用重启手机

try {

     //获得ServiceManager类
     Class<!--?--> ServiceManager = Class.forName("android.os.ServiceManager");
     //获得ServiceManager的getService方法
     Method getService = ServiceManager.getMethod("getService", java.lang.String.class);
     //调用getService获取RemoteService
     Object oRemoteService = getService.invoke(null,Context.POWER_SERVICE);
     //获得IPowerManager.Stub类
     Class<!--?--> cStub = Class.forName("android.os.IPowerManager$Stub");
     //获得asInterface方法
     Method asInterface = cStub.getMethod("asInterface", android.os.IBinder.class);
     //调用asInterface方法获取IPowerManager对象
     Object oIPowerManager = asInterface.invoke(null, oRemoteService);
     //获得shutdown()方法
     Method shutdown = oIPowerManager.getClass().getMethod("shutdown",boolean.class,boolean.class);
                        //调用shutdown()方法
                        shutdown.invoke(oIPowerManager,false,true); 
     } catch (Exception e) {         
         Log.e(TAG, e.toString(), e); 
     }

广播重启手机

            //广播方式关机重启
            case R.id.shutdown_btn1:
                Log.v(TAG, "broadcast->shutdown");
                Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
                intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
                //其中false换成true,会弹出是否关机的确认窗口
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
                break;
            case R.id.reboot_btn1:
                Log.v(TAG, "broadcast->reboot");
                Intent intent2 = new Intent(Intent.ACTION_REBOOT);
                intent2.putExtra("nowait", 1);
                intent2.putExtra("interval", 1);
                intent2.putExtra("window", 0);
                sendBroadcast(intent2); 
                break;

今天的文章Android重启应用和重启手机分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/31025.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注