2015-10-29 4 views
0

Я пытаюсь выяснить, есть ли какой-либо механизм для обнаружения, когда пользователь нажимает на Set Wallpaper или прижимает Назад в окне предварительного просмотра, или если они нажали кнопку назад. Я посмотрел на Wallpaper Service Engine и единственное изменение, которое я могу сделать использование заключается в обнаружении, является ли пользователь in preview mode or notживых обоев Установитьобои прослушиватель событий вопрос

мне интересно, если кто-то побежал к этому вопросу? Заранее спасибо за помощь: Вот простой обои двигатель, который регистрирует несколько событий

@Override 
    public void onCreate(SurfaceHolder surfaceHolder) { 
     super.onCreate(surfaceHolder); 
     Log.d(TAG, "onCreate"); 
     Log.d(TAG, "isPreview ... " + isPreview()); 
    } 


@Override 
    public void onSurfaceCreated(SurfaceHolder surfaceHolder) { 
     Log.d(TAG, "onSurfaceCreated"); 
    } 

    @Override 
    public void onVisibilityChanged(boolean isVisible) { 
     Log.d(TAG, "onVisibilityChanged .." + isVisible); 
    } 

    @Override 
    public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) { 
     Log.d(TAG, "onSurfaceChanged"); 
    } 

    @Override 
    public void onSurfaceRedrawNeeded(SurfaceHolder surfaceHolder) { 
     Log.d(TAG, "onSurfaceRedrawNeeded"); 
    } 

    @Override 
    public void onSurfaceDestroyed(SurfaceHolder surfaceHolder) { 
     Log.d(TAG, "onSurfaceDestroyed"); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Log.d(TAG, "onDestroy"); 

    } 

ответ

0

Хорошо только в случае, если кто-то бежит в этот вопрос. Мое решение было: начать обои предварительного просмотра активности с результатом:

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER); 
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName 
         (MyActivity.this, MyWallpaperService.class)); 
       startActivityForResult(intent, MY_REQUESTCODE); 

Когда пользователь нажимает кнопку «Установить обои», вы получите

Activity.RESULT_OK 

Когда пользователи щелчки «Настройки» вы получите

Activity.RESULT_CANCELED 

Надеется, что это помогает