2011-06-03 70 views
0

是否有防止活動發射的好方法?我想建立一個白名單或黑名單的應用程序,然後阻止這些實例啓動。防止發射活動

一個可能的解決方案是每隔一段時間輪詢一次正在運行的任務並關閉它們,但這看起來好像可以通過大量電池吃掉。

回答

2

好了,所以這並不算是一個「好辦法」,很可能是因爲排水,如果不是更多的話對你的電池,但與你的投票方法行:

您可以創建監控服務登錄貓(http://www.helloandroid.com/tutorials/reading-logs-programatically) 需要許可清單中:

<uses-permission android:name="android.permission.READ_LOGS" /> 
在服務像(很粗)

則:

private void readLogAndKill(){ 
try { 
     Process process = Runtime.getRuntime().exec("logcat -d"); 
     BufferedReader bufferedReader = new BufferedReader(
     new InputStreamReader(process.getInputStream())); 

     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
     if (line.contains("Starting Activity")){ 
      if(line.contains("com.twitter.android"){ 
        //kill twitter for example 
       } 
     } 
     } 

    } catch (IOException e) { 
    } 

} 

可能有一些方法可以捕獲「正在開始的活動」事件 - 或者在您閱讀這些日誌時僅過濾這些日誌。

+0

有趣!我喜歡這樣的好黑客。不知道這是否像觀看流程一樣優雅,但現在讓我想到了日誌。謝謝! – James 2011-06-03 03:44:46

+0

如何殺死Android> 2.1的進程? – kellogs 2011-07-11 13:34:49

3

對不起,SDK不支持此功能。