0

デバイスの壁紙を表示するように設定されたアクティビティがあります。つまり、AndroidManifest.xmlで:

<activity
    ...
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
>

アクティビティのOnCreate:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER)

電話すると

moveTaskToBack(true);

アクティビティは期待どおりに消えます。これまでのところ、とても良いです。
ただし、4.1.1 を実行している Galaxy S3 などの Jelly Bean でこれを実行すると、moveTaskToBack の直後の移行中に非常に目に見える黒いちらつきがあります。ちらつきは、ホーム アクティビティが自分のアクティビティのすぐ下にある場合にのみ発生します。

この問題は、説明したように設定された簡単なアクティビティで完全に再現可能です。

finish()代わりに使用するとちらつきは発生しませんが、finish を使用することはできません。また、ICS を実行している S3 でも発生しません。

これは、壁紙の更新に関連しているのか、Project Butter の変更に関係しているのではないかと思いますが、私には考えがありません。

デバイスの壁紙を表示したままで、画面の外に移動したときにアクティビティを破壊せずに、このちらつきを取り除くにはどうすればよいですか?

4

1 に答える 1

0

moveTaskToBack(true)に関連する同様の問題に遭遇しました。この API の動作は、JellyBean と ICS では明らかに異なりますが、役立つドキュメントは見つかりません。

于 2013-01-17T17:19:37.403 に答える