-1

私はプロジェクトで私を導く助けが必要です。私は、別のアプリが起動してからアクティビティが表示されたときにアプリを認識させる必要があります。 私はサービス、インテントサービス、放送受信機について調査しました。しかし、私はまだ私の考えを実行する方法を知っていません。 あなたは私にいくつかの投稿、本、チュートリアルをお勧めしますか?Android:アクティビティが別のアプリにオーバーラップする

P.S:JavaとKotlin

答えて

0

うーんとのIM fammiliarは少し非倫理的に聞こえます。しかし、あなたはそれを行うことができます。

継続的に実行されるサービスを最初に書きます。次に、アプリが実行されているかどうかを確認する頻度を決定します。マニフェストに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をインテントに配置して、選択したアクティビティが確実に開始されるようにします。

もう1つの方法は、ログcatログを読み込んで、起動時にアプリを常にスキャンすることです。いずれにしても、バッテリが多量に消費される可能性があり、最終的にはバッテリの使用状況をユーザに警告する、常に動作している場合を除き、おそらく瞬間的ではありません。

どのような場合でも、それはあなたがそれを行うかどうかは、それが良いか悪いか、それはうまく動作します。

+0

学生が勉強している間、集中しておくのに役立つアプリ向けです。あまりにもありがとうございます –

+0

ああ大丈夫、うん。助けてうれしい – Sam

関連する問題