2017-01-25 3 views
0

ライブ壁紙アプリケーションを開発していて、次の問題があります。
1)ユーザーがボタンをクリックしてアンドロイドのライブプレビューがこのコードを使用して表示されますAndroidのライブ壁紙のプレビュー開始アクティビティユーザーが「壁紙を設定」をクリックしたとき

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER); 
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, 
new ComponentName(getBaseContext(), MyWallpaperService.class)); 
startActivityForResult(intent,WALLPAPER_CHANGED); 

2)ライブプレビューサービスは、ライブ壁紙のプレビューと「壁紙に設定」ボタンで表示されます。

3)私の問題は、ユーザーが「壁紙を設定」をクリックして、ユーザーが戻るボタンをクリックしたときに戻った場合、プレビュー後に別のアクティビティを開始したいということです。この「セット壁紙 "をクリックします。両方のシナリオでエンジンのメソッドonDestroy()が呼び出されます。

ありがとうございます、ありがとう!

答えて

0

は、私の知る限り、ユーザが「壁紙に設定」を押すかどうかを決定するための公式のAPIはありませんが、あなたはそれはあなたを助けることができる1つのトリックを使用することができます:エンジンを

  1. あなたに静的ブールフィールドを作成し、すなわち「startedInPreviewMode」あなたのエンジンチェックisPreviewののonCreate()メソッドでは、プレビューリセットを壁紙には 'startedInPreviewMode'

  2. をアプリにリダイレクトする前に

  3. ()と 'startedInPreviewMode' につながる覚えて - 現在のinstan場合あなたのエンジンは通常の(プレビューではない)モードで起動されます - ユーザが "壁紙の設定"を押すことを意味します。

  4. あなたの活動のonResume()メソッド(壁紙のプレビューを閉じた後にアプリケーションがリダイレクトされます) static boolean 'startedInPreviewMode'フィールドを使用して、必要なアクションを実行します。

関連する問題