2015-10-29 2 views
0

J'essaie de savoir s'il existe un mécanisme pour détecter lorsqu'un utilisateur clique sur Set Wallpaper ou appuie Retour dans l'écran d'aperçu ou s'ils ont pressé le bouton de retour. Je l'ai regardé le Wallpaper Service Engine et le seul changement que je peux utiliser est de détecter si l'utilisateur est in preview mode or notLive wallpaper écouteur d'événement setwallpaper question

Je me demande si quelqu'un d'autre, il a couru à cette question? Merci d'avance pour votre aide: Voici un moteur simple fond d'écran qui enregistre quelques événements

@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"); 

    } 

Répondre

0

Bon juste au cas où quelqu'un d'autre court dans cette question. Ma solution a consisté à: commencer l'activité aperçu fond d'écran avec le résultat:

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); 

Lorsque l'utilisateur clique sur « Déf », vous recevrez un

Activity.RESULT_OK 

Lorsque les clics des utilisateurs « Paramètres », vous recevrez

Activity.RESULT_CANCELED 

Hope it helps