2

我试图弄清楚是否有任何机制可以检测用户何时单击“设置墙纸”或在预览屏幕中按下“返回”或是否按下“返回”按钮。我查看了Wallpaper Service Engine,唯一可以使用的更改是检测用户是否 处于预览模式

我想知道是否有其他人将它运行到这个问题上?提前感谢您的帮助:这是一个简单的壁纸引擎,它记录了一些事件

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

    }
4

1 回答 1

2

好吧,以防万一其他人遇到这个问题。我的解决方案是:启动壁纸预览活动,结果为:

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

希望能帮助到你

于 2015-11-03T15:10:39.387 回答