android應用實現重啟系統
.在AndroidManifest.xml檔案的manifest標籤中加入一條android:sharedUserId="android.uid.system"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ipanel.update"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
2.在MainActivity中,有以下2種方式實現:
/*Intent reboot = new Intent(Intent.ACTION_REBOOT);
reboot.putExtra("nowait", 1);
reboot.putExtra("interval", 1);
reboot.putExtra("window", 0);
sendBroadcast(reboot); */
PowerManager pManager=(PowerManager) getSystemService(Context.POWER_SERVICE);
pManager.reboot("");
整個程式碼:
package
com.demo.reboot;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button rebootBtn = (Button) findViewById(R.id.button2);
rebootBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(MainActivity.this)
.setTitle("提示")
.setMessage("確認重啟麼?")
.setPositiveButton("重啟", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 重啟
/*String str = "重啟";
try {
str = runCmd("reboot", "/system/bin");
} catch (IOException e) {
e.printStackTrace();
}*/
/*Intent reboot = new Intent(Intent.ACTION_REBOOT);
reboot.putExtra("nowait", 1);
reboot.putExtra("interval", 1);
reboot.putExtra("window", 0);
sendBroadcast(reboot); */
PowerManager pManager=(PowerManager) getSystemService(Context.POWER_SERVICE);
pManager.reboot("重啟");
System.out.println("execute cmd--> reboot\n" + "重啟");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 取消當前對話方塊
dialog.cancel();
}
}).show();
}
});
}
}
3.給apk簽名
簽名方法:
1)新增許可權
在AndroidManifest.xml檔案下新增android:sharedUserId="android.uid.system" 。
2)在Eclipse中匯出無簽名的應用檔案
在工程中:右鍵->Android Tools -> Export Unsigned Application Package匯出應用
3)找出系統簽名金鑰
系統金鑰為:platform.pk8和platform.x509.pem
路徑: build\target\product\security
4)找出系統簽名工具
工具為:signApk.jar
路徑:/out/host/linux-x86/framework/ signApk.jar
5)開始簽名
將第2、3、4步找到的無簽名應用、platform.pk8、platform.x509.pem和signApk.jar放到同一資料夾下如F:\sign。
開啟 dos 操作介面,定們到F:\sign,輸入命令:
java -jar signapk.jar platform.x509.pem platform.pk8 a.apk b.apk
(a.apk 為未簽名應用 b.apk 為簽名之後應用)
相關文章
- 直播系統搭建,簡單實現Android應用的啟動頁Android
- Android應用關閉,重啟Android
- 線上直播系統原始碼,簡單實現Android應用的啟動頁原始碼Android
- android 再按一次退出應用 出現閃屏 重啟Android
- 開發Android系統應用Android
- Android應用重簽名Android
- Android系統服務DropBoxManagerService詳解與實踐應用Android
- golang應用平滑重啟Golang
- 啟用遠端系統上的應用
- Android 應用啟動流程Android
- mac系統應用快速啟動工具Mac
- Android應用加固的簡單實現方案Android
- Mac系統關閉重啟電腦後「重新開啟應用及其視窗」功能的方法Mac
- Android 系統啟動流程Android
- 【android 7.1.2】系統啟動Android
- Android應用啟動流程分析Android
- [譯]Android系統是如何啟動應用程式的?從Zygote到Activity的onCreate()AndroidGo
- Android應用加固的簡單實現方案(二)Android
- Win10系統藍屏重啟怎麼辦 Win10系統出現藍屏重啟如何解決Win10
- Android App應用啟動流程(一)AndroidAPP
- Go 如何實現熱重啟Go
- Android:呼叫系統相機實現拍照+裁切(相容7.0以上系統)Android
- Android快應用實踐Android
- 【Android】Phoenix OS(鳳凰系統)啟用root許可權Android
- Android 系統原始碼-1:Android 系統啟動流程原始碼分析Android原始碼
- Android端實現多人音視訊聊天應用(一)Android
- 利用 Android 系統原生 API 實現分享功能(2)AndroidAPI
- Android系統啟動自動開啟mtklogAndroid
- 作業系統實驗6之訊號量的實現與應用作業系統
- Android 身高體重曲線的實現Android
- iOS12系統應用傳送普通郵實現傳送iOS
- 加推時序系統RTS實現原理及應用簡介
- 數商雲:如何實現SRM供應商管理系統的應用價值?
- Android原始碼(二)應用程式啟動Android原始碼
- 【Abyss】Android 平臺應用級系統呼叫攔截框架Android框架
- Android 12(S) 圖形顯示系統 - 示例應用(二)Android
- PHP 實現平滑關閉/重啟PHP
- JavaFx 軟體重啟功能實現Java
- Android系統啟動流程(四)Launcher啟動過程與系統啟動流程Android