1. 程式人生 > >android關機、重啟等電源鍵功能實現

android關機、重啟等電源鍵功能實現

背景:小黑,玩機刷機日常關機重啟少不了使用長按電源鍵,一個按一個心疼,這強迫症可能很多人有,擔心按壞了。手機自帶又沒有這般快捷鍵,所以就想下載個關機重啟的軟體來釋放電源鍵,無奈網上好用的軟體廣告太多或經常更新,煩人,所以就想自己寫個純潔的程式來自己用

程式截圖

第一張:程式主介面


第二張:確認對話方塊


原始碼:

package com.xiaohei9.boot;

import java.io.IOException;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * 實現手機電源鍵功能
 * @author 小黑
 *
 */
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 建立Layout並設定內容垂直排布
    	LinearLayout layout = new LinearLayout(this);
    	layout.setOrientation(1);
        this.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        
        // 向Layout增加內容
        layout.addView(makeButton("快速關機", new String[]{"su","-c","reboot -p"}));
        layout.addView(makeButton("快速重啟", new String[]{"su","-c","reboot"}));
        layout.addView(makeButton("恢復模式", new String[]{"su","-c","reboot recovery"}));
        layout.addView(makeButton("引導模式", new String[]{"su","-c","reboot bootloader"}));
        layout.addView(makeText("注意:本程式僅供學習與參考,需root"));
        layout.addView(makeText("作者:小黑	
[email protected]
")); } /** * 建立一個命令按鈕 * @param text 按鈕顯示的文字 * @param cmd 按鈕執行的命令 * @return 返回建立的按鈕 */ private Button makeButton(final String text, final String[] cmd) { final Context context = this; Button btn = new Button(context); btn.setText(text); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("小黑提示"); builder.setMessage("確認繼續【" + text + "】"); builder.setNegativeButton("取消", null); builder.setPositiveButton("確認", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int idx) { // 執行命令 execCmd(cmd); } }); builder.show(); } }); return btn; } /** * 建立一個文字 * @param text 文字所顯示內容 * @return 返回建立的檔案 */ private TextView makeText(String text) { TextView tv = new TextView(this); tv.setText(text); return tv; } /** * 執行命令 * @param cmd 命令 */ private void execCmd(String[] cmd) { try { Process proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }

本程式下載地址(小黑電源鍵.apk)

相關推薦

android關機電源功能實現

背景:小黑,玩機刷機日常關機重啟少不了使用長按電源鍵,一個按一個心疼,這強迫症可能很多人有,擔心按壞了。手機自帶又沒有這般快捷鍵,所以就想下載個關機重啟的軟體來釋放電源鍵,無奈網上好用的軟體廣告太多或經常更新,煩人,所以就想自己寫個純潔的程式來自己用 程式截圖 第一張:程

Android實現關機裝置

  1、關機 方法一:關機屬於系統級操作,所以需要獲得系統級的許可權。 android:sharedUserId="android.uid.system" <uses-permission android:name="android.permission.SHU

linux 日歷,計算器,nano編輯器,開關機

boot sys 後臺 linux 簡單 修改 支持 鍵盤 計算 1.查看文件下面所有的隱藏目錄:ls -al 2.顯示具體的年月日:date +%y/%m/%d  或date +%Y/%m/%d 3.顯示這個月的日歷: cal    顯示某年日歷: cal 2017

linux常用命令(一)linux開關機以及文本界面與圖形界面互換

調用 虛擬 界面切換 use entos span 常用 run 現在 1.開關機 reboot 重啟: shutdown [-efFhknr][-t 秒數][時間][警告信息] 關機: shutdown [-efFhknr][-t 秒數][時間][警告信息] 關機:

系統關機註銷詳解

ali eboot sans rep 快速 posit tle msu bsp 在重新啟動Linux系統的同時把內存中的信息寫入硬盤,應使用()命令實現#shutdown -r now#halt#reboot#init3正確答案:Ahalt是最簡單的關機命令,其實際上是調用

Linux關機命令

現在 linux關機 eboot 關機 符號 處理 nbsp 重啟 inux 關機 shutdown -h 0 #<==O秒後關機 shutdown -h now #<==現在關機 shutdown -h 10 #<==10分鐘後關機 shutdown

linux關機

關機的影響 linux主要在伺服器領域使用,除非遇到特殊情況,否則不會關機的 跟windows不同,linux很多的程序都執行在後臺 可能有很多人同時工作,如果關機了,其他人的資料就會中斷 若不正常關機,會造成檔案系統損壞,導致資料丟失 正確關機 如果要關機,必須保證當前系統

MTK 開關機時間優化

開關機、重啟時間優化: 開機效能優化:是用功能和其它因素多方面平衡的結果,片面追求單方面的效能沒有太大意義; 有些產品設計開機動畫非常酷炫,動畫圖片過多、高幀率會影響開機速度,這時就需要看是開機速度優先還是體驗優先; 1.zygote,預載入class、resources

VC++關機計算機程式碼

voidCWebBrowserView::OnMenuShutdown(){// TODO: 在此新增命令處理程式程式碼if(AfxMessageBox("確定要關機嗎?",MB_YESNO)== IDYES){ HANDLE hToken; TOKEN_PRIVI

ubuntu 14.04 anm64修復 不能關機登出的問題

解決方案:        sudo apt-get install fglrx       本來還想 sudo apt-get install nvidia-331,一覺醒來,忙於出去,點選關機,發現可以正常;回來正常登出發現也可以了。故記錄之。       道理告訴我:盡力去解決一個問題,久攻不下;不防換

linux 下apache 停止操作

基本的操作方法:本文假設你的apahce安裝目錄為/usr/local/apache2,這些方法適合任何情況 apahce啟動命令:推薦/usr/local/apache2/bin/apachectl start apaceh啟動 apache停止命令/usr/local/apache2/bin/apac

linux虛擬機器關機命令

一.shutdown 1.shutdown -h now :立即關機 2.shutdown -h 10:53:到10:53關機 3.shutdown -h +10 :10分鐘後自動關機 4.shutdown -r :重啟(預設30秒) 5.shutdown -r now :立即重啟

java實現關機開啟運用程式及網站

這裡主要通過面對物件和麵對過程兩種方法來實現電腦關機、重啟、工作管理員、開啟運用軟體,如QQ音樂,以及開啟網站,比如自己的部落格。 先給出命令:         shutdown -s -t 1       指定1秒後關機         shutdown -r      

ubuntu關機登出命令列指令

1關機命令 shutdown   好像ubuntu的終端中預設的是當前使用者的命令,只是普通使用者,因此在終端器中可以使用sudo -sh 轉換到管理員root使用者下執行命令。   1)shutdown –help   可以檢視shutdown命令如何使用,當然也可以

ubuntu12.04 關機卡死解決辦法

#vi  /boot/grub/grub.cfg 找到下面內容:   inux --class gnu --class os {         recordfail         gfxmode $linux_gfx_mode         insmod gzio         insmod part

C#控制Windows系統關機和註銷的代碼

rgs res nsh gof oid win shu eve nta 如下資料是關於C#控制Windows系統關機、重啟和註銷的代碼。 protected void btnShutDown_Click(object sender, EventArgs e)

Delphi 訊息攔截篇 -- 之攔截系統關機登出

最近做的專案中需要攔截系統關機,因為我在FormCloseQuery中總是把CanClose設為False,不攔截關機的話直接導致系統中的關機、重啟、登出都失效了!導致使用者不能關機!(提示使用者說要關機的話直接按電源^^)這樣肯定是不行的! 要完成這個功能只需要攔截到W

Linux下普通使用者執行關機指令

方法1(推薦) 在root使用者下用visudo命令新增以下程式碼到/etc/sudoers檔案的末端。替換其中的user為你的使用者名稱,hostname為你的主機名(可以使用hostname命令查詢)。 user hostname=NOPASSWD: /

C# API強制關機以及註銷計算機

ntp exit name 版本 啟動 用戶 event ... code 在Windows系統中有2種方式進行關機、重啟以及註銷計算機操作: 1、使用shutdown()命令;2、使用系統API; 以下是使用系統API進行操作的實例。 程序實例界面: 程序實例代碼:

Linux入門真經-005centos7.5系統安裝及關機方法

接下來我們來看一下Centos7的安裝。Centos7自2014年發行以來,8-12個月更新一個小版本,目前最新的版本是Centos7.5,相信在未來的5-10年內,Centos7的佔有率會保持穩步提升。 與Centos6的安裝相同,首先,我們要獲取到安裝映象,依然以阿