4

アプリ内から別のアプリを起動する方法を探していますが、フォーカスがアプリから起動されたアプリに変更されないようにしています。

つまり、現在、インテントを介して新しいアプリを起動していますが、これが実行されると、新しいアプリが起動されてアプリが表示されるようになり、アプリを表示したままバックグラウンドに保持する必要があります。

この理由は?デバイスのロック画面のように機能する内部使用のアプリケーションを開発しているため、バックグラウンドで物事が発生する必要がありますが、「ロック画面」は常に上にある必要があります。

インテントと他のアプリの起動についていくつかの調査を行いましたが、必要なものについて何も見つかりません。

お役に立てれば幸いです。

現在、端末は次のように呼び出されます。

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("jackpal.androidterm", "jackpal.androidterm.RemoteInterface"));
    intent.setAction("jackpal.androidterm.RUN_SCRIPT");
    intent.putExtra("jackpal.androidterm.iInitialCommand", cmdString);

バックグラウンドで実行する必要がある理由は、アプリがユーザーがアクセスできなくても端末でコマンドを実行できるようにするためですが、必要な画面を「ロック解除」して、端末と実行されているコマンドを表示できるようにするためです。等

4

3 に答える 3

2

バックグラウンドでActivityを開始することはできません。代わりに、アクティビティを開始し、アクティビティを最小化します(この場合、このアクティビティは別のアプリケーションです)。moveTaskToBack(true);

あなたの場合、あなたの意図とそのパラメータに基づいて条件を設定しmoveTaskToBack(true);、アプリケーションが起動したときにのみアクティビティが最小化されるように使用します。

于 2013-03-08T11:40:54.177 に答える
1

これは不可能ですService。実際の作業を行うバックグラウンドを開始し、フォアグラウンドが終了Activityしてからナビゲートしたい を起動する必要があります。Activityアーキテクチャに応じて、ActivityフォアグラウンドActivityが終了したときに呼び出す to を保存し、サービスから変更できます。そうすれば、実際にActivity.

于 2013-03-08T11:27:42.097 に答える
1

@Meher からの回答に加えて、現在の開始アクティビティの目的で、フラグ FLAG_FROM_BACKGROUND を追加できます。これにより、「点滅」効果を取り除くことができます (バックグラウンドに移行するかどうかを検出している間に、アクティビティが一瞬だけ表示される効果)

于 2015-07-16T19:30:01.757 に答える