Android实现关机重启的方法分享

发布时间:2026-09-28 18:03:52 浏览次数:0

当你操作 Android 设备时,关机与重启是两个最常见的必备功能。在此,我们将详细讲解如何在 Android 应用上实现这两个功能。

实现关机

权限设置

要在 Android 应用上实现关机功能,你需要首先在应用中设置权限。在 AndroidManifest.xml 文件中添加下面的代码:

<uses-permission android:name="android.permission.SHUTDOWN" />

实现代码

现在,你需要使用系统服务来调用关机命令:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);pm.shutdown();

调用 pm.shutdown() 方法,这个方法会直接执行一个关机命令,并关闭电源。

示例

下面是一个简单的示例,以便更好的理解:

public class MainActivity extends Activity {    private Button button_shutdown;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button_shutdown = (Button) findViewById(R.id.button_shutdown);        button_shutdown.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);                pm.shutdown();            }        });    }}

在上面的代码中,当你点击应用的 "关机" 按钮时,会直接执行一个关机命令,并关闭电源。

实现重启

权限设置

要在 Android 应用上实现重启功能,你需要在应用中设置权限。在 AndroidManifest.xml 文件中添加下面的代码:

<uses-permission android:name="android.permission.REBOOT" />

实现代码

接下来,你需要使用系统设置来调用重启命令:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);pm.reboot(null);

如果你想要在重启时显示一个开机画面,可以在 pm.reboot() 方法中添加一个 Intent 参数。例如:

Intent intent = new Intent(Intent.ACTION_REBOOT);intent.putExtra("nowait", 1);intent.putExtra("interval", 1);intent.putExtra("window", 0);sendBroadcast(intent);

上述代码在调用 pm.reboot() 方法时,添加了三个参数: nowait 将会停止所有程序运行;interval 表示重启时间间隔为 1 秒;window 表示重启时不显示任何对话框。

示例

下面是一个简单的示例,以便更好的理解:

public class MainActivity extends Activity {    private Button button_reboot;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button_reboot = (Button) findViewById(R.id.button_reboot);        button_reboot.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);                pm.reboot(null);            }        });    }}

在上面的代码中,当你点击应用的 "重启" 按钮时,会直接执行一个重启命令,在重启时不会显示任何对话框。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477