-1
我需要一些幫助來指導我在一個項目中,我需要我的應用程序識別另一個應用程序何時開始,然後我的活動出現。 我研究了關於服務,intentservice和broadcastreceiver。但我不知道如何執行我的想法。 你們可以推薦我一些職位,書籍,教程嗎?Android:活動重疊另一個應用程序
P.S:林fammiliar Java和科特林
我需要一些幫助來指導我在一個項目中,我需要我的應用程序識別另一個應用程序何時開始,然後我的活動出現。 我研究了關於服務,intentservice和broadcastreceiver。但我不知道如何執行我的想法。 你們可以推薦我一些職位,書籍,教程嗎?Android:活動重疊另一個應用程序
P.S:林fammiliar Java和科特林
嗯,聽起來有點不道德。但是,你可以做到這一點。
首先編寫可連續運行的服務。然後確定您檢查應用程序運行的頻率。您需要清單中的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設置爲意圖確保它啓動您選擇的活動。
另一種選擇是讀取日誌貓日誌並不斷掃描它以啓動應用程序。無論哪種方式,它可能不會是即時的,除非你總是運行,這可能是電池密集型的,並最終會警告用戶最有可能使用電池。
無論如何,這就是你是如何做到的,無論它是好還是壞,這都會奏效。
它適用於幫助學生在學習期間保持專注的應用程序。非常感謝你 –
哦,好,那麼好運然後你:)。樂意效勞 – Sam