0
@Override
public void onReceive(Context context, Intent intent) {
    Log.i("TEST", "user is present");
    Intent i = new Intent(context, MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
}

インテントを受け取ってからアプリの MainActivity をすぐに起動したいのですが、「user is present」というログが表示されてから約 3 秒後に MainActivity が起動し、すぐに起動しません。そして、ユーザー エクスペリエンスを向上させるために、すぐに開始する必要があります。

MainActivity をより速く起動させる方法があるのだろうか?

PS: 別のアクティビティでボタンを使用して MainActivity を開始すると、すぐに開始されます。

4

1 に答える 1

1

目標を達成するのに役立つ Intent オブジェクトに追加できるフラグがあります。また、ユーザーが存在する場合、これはデバイスのロックが解除された後でのみです(ヒント)

アップデート

どうやらインテント フラグはもはや API にはありません。残念です。でも; KeyguardManager を使用すると、問題の解決策の一部としてこれを実現できます。

于 2012-07-15T11:44:11.047 に答える