0

アプリケーションの再開/一時停止に問題があります。ここで、メソッドをオーバーライドonBackPressed()してこのメ​​ソッド用に再定義するアクティビティが次のようになっているとします。

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

そのため、問題なくバックグラウンドで実行されました。したがって、アプリケーションを再開するには、onResume()オーバーライド メソッドで次のコードを宣言します。

@Override
protected void onResume() {
    Intent resume = new Intent(this, MainActivity.class);
    if ((resume.getFlags() & Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) != 0) {
        resume.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        Logger.e(M_tag, "Resume Activity");
        startActivity(resume);
        return;
    }

    super.onResume();
}

プロセスを最小化した後、アクティビティを正常に再開できますが、直面した問題は、リンクを長押ししInternet Browserてアプリケーションとリンクを共有すると、アクティビティは再開されますが、条件は実行されません。

if (getIntent().getAction().equals(Intent.ACTION_SEND))

onCreate()以下のように、オーバーライドメソッドで定義したもの:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (getIntent().getAction.equals(Intent.ACTION_SEND))
        Log.e("App", "In action send mode");
}

Intent.ACTION_SENDバックグラウンドでプロセスがないときにアクションをテストしたところ、正常に条件が実行されましたが、アプリケーションにACTION_SENDインテントを強制的に実行させるにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

2

新しいインテントの OnCreate を取得していない場合は、OnNewIntentを取得します。

このメソッドでインテントを再度処理します。

于 2012-08-30T00:02:34.470 に答える