1

フラグ FLAG_ACTIVITY_NEW_TASK を使用する場合、現在開始しているアクティビティに対してタスクが既に実行されている場合、新しいアクティビティを開始しないようにしたい - 代わりに、現在のタスクを最後にあった画面の前面に移動するだけにしたい.

  1. 他のアプリのサービスからどうすればいいですか?サービス別のアプリを起動したいactvityManager.getRunningAppProcesses()。このアプリを新しいアプリとしてのみ起動する方法を知っています。

    Context context = this.getBaseContext();
    

    PackageManager pm = context.getPackageManager(); インテント インテント = pm.getLaunchIntentForPackage(LevelappPackageName); context.startActivity(意図);

しかし、私はこのようにそれを実行したいと思います:

    context.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
  1. アプリが実行されているかどうかを確認する方法を知っています。

    ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
    List<RunningAppProcessInfo> App = actvityManager.getRunningAppProcesses();
    for(int i = 0; i < App.size(); i++)
        {   
            if(App.get(i).processName.equals("myapp"))
    

    しかし、現在実行中のアプリがあるかどうかをどのように知ることができますか? それは現在画面上にありますか?!

4

1 に答える 1

0

開始したいintent-filter actionのマニフェストにを追加する必要があります。また、 から送信できる正しいをActivity含む も必要です。マニフェストや.PendingIntentactionServicelaunchMode=singleTopContext.startActivityIfNeeded

Activityにフォーカスがある場合、そのonWindowFocusChangedメソッドが呼び出されます。それを使用して、読み取り可能な変数を設定します。

于 2012-05-06T20:53:59.757 に答える