-1

我需要一些幫助來指導我在一個項目中,我需要我的應用程序識別另一個應用程序何時開始,然後我的活動出現。 我研究了關於服務,intentservice和broadcastreceiver。但我不知道如何執行我的想法。 你們可以推薦我一些職位,書籍,教程嗎?Android:活動重疊另一個應用程序

P.S:林fammiliar Java和科特林

回答

0

嗯,聽起來有點不道德。但是,你可以做到這一點。

首先編寫可連續運行的服務。然後確定您檢查應用程序運行的頻率。您需要清單中的GET TASKS權限。然後定期檢查運行的軟件包,例如:

public static boolean isAppRunning(final Context context, final String packageName) { 
     final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
     final List<ActivityManager.RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses(); 
     if (procInfos != null) 
     { 
      for (final ActivityManager.RunningAppProcessInfo processInfo : procInfos) { 
       if (processInfo.processName.equals(packageName)) { 
        return true; 
       } 
      } 
     } 
     return false; 
    } 

然後,只需從您的服務中使用您關心的軟件包定期調用此方法。如果您看到它正在運行,那麼只需創建一個意圖,然後將FLAG_ACTIVITY_NEW_TASK設置爲意圖確保它啓動您選擇的活動。

另一種選擇是讀取日誌貓日誌並不斷掃描它以啓動應用程序。無論哪種方式,它可能不會是即時的,除非你總是運行,這可能是電池密集型的,並最終會警告用戶最有可能使用電池。

無論如何,這就是你是如何做到的,無論它是好還是壞,這都會奏效。

+0

它適用於幫助學生在學習期間保持專注的應用程序。非常感謝你 –

+0

哦,好,那麼好運然後你:)。樂意效勞 – Sam

相關問題