編輯:關於Android編程
這幾天一直在做一個Andorid應用,想實現任務管理器的效果,能夠徹底關閉其他的程序,網上也看了很多資料,很多都是使用後restartPackage或者killBackgroundProcesses函數去進行,但是這一種並不能真正的將應用關閉.我的手機是root過的defy,嘗試著使用其他的方法操作.
① kill -9 pid
這個命令對於使用linux的都非常的熟悉,強制殺掉一個進程.獲取要殺掉進程的pid,然後直接執行上述命令,但是測試後發現後,在手機中setting-app中,該應用依舊是運行狀態,force close依舊可以點擊,並沒有達到效果.
②使用android自帶命令(am force-stop)
這個是查看adb幫助的時候發現的,原來adb的操作是相當的豐富的,不僅可以啟動應用,發送廣播,查看日志,還能對應用進行操作,比如強制關閉,十分的強大.根據這個,成功實現關閉其他應用的操作. (adb介紹官方文檔)
package cn.androiddevelop.flushapk.util;
import java.io.IOException;
import java.io.OutputStream;
/**
* 執行android命令
*
* @author Yuedong Li
*
*/
public class SuUtil {
private static Process process;
/**
* 結束進程,執行操作調用即可
*/
public static void kill(String packageName) {
initProcess();
killProcess(packageName);
close();
}
/**
* 初始化進程
*/
private static void initProcess() {
if (process == null)
try {
process = Runtime.getRuntime().exec("su");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 結束進程
*/
private static void killProcess(String packageName) {
OutputStream out = process.getOutputStream();
String cmd = "am force-stop " + packageName + " \n";
try {
out.write(cmd.getBytes());
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 關閉輸出流
*/
private static void close() {
if (process != null)
try {
process.getOutputStream().close();
process = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
將 Android* x86 NDK 用於 Eclipse* 並移植 NDK 示例應用
目標 面向 Eclipse (ADT) 的 Android 插件現在支持基於 NDK 的應用開發。 其可自動生成項目和構件文件以及代碼存根,並可集成到整個 Andro
Android M新控件知識整理
前言:Google官方在14年Google I/O上推出了全新的設計語言——Material Design。一並推出了一系列實現Material
Android PopupWindow 仿微信彈出效果
項目中,我需要PopupWindow的時候特別多,這個東西也特別的好使,所以我今天給大家寫一款PopupWindow 仿微信彈出效果,這樣大家直接拿到項目裡就可以用了!首
Fragment生命周期詳解
1. Fragment概述Fragment從Android v3.0版本開始引入隨著界面布局的復雜化,處理起來也更加的復雜,引入Fragment可以把activity拆分