Как получить текущие обои, изменить их, а потом восстановить

Я борюсь с тем, почему этот код не скомпилируется, я пытаюсь получить текущие обои, затем изменить их, а затем дать возможность изменить их обратно.

Ниже приведен мой код, он не компилируется, потому что он не может разрешить символ "контекст", и он говорит, что мой объект рисования не может быть преобразован в целое число, которое не имеет никакого смысла.

Я пытаюсь изменить растягиваемое изображение на растровое, и я импортировал импорт

android.content.Context

так что же я здесь делаю не так?? это мой код, onClick сохраняет обои и запускает операцию изменения, метод onPush сбрасывает обои и выходит из приложения, любая помощь будет признательна, спасибо!

import android.content.Context;
import android.app.Activity;
import android.app.WallpaperInfo;
import android.app.WallpaperManager;
import android.content.ComponentName;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import java.io.IOException;
import static android.app.WallpaperManager.*;

public class SetWallpaperActivity extends Activity {

public Drawable originalWallpaper;
public Bitmap paper1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
        public void onClick(View view) {

            WallpaperManager wm = WallpaperManager.getInstance(this);
            originalWallpaper = wm.getDrawable();

            paper1 = BitmapFactory.decodeResource(context.getResources(),
                    originalWallpaper);
            Intent intent = new Intent(
                    ACTION_CHANGE_LIVE_WALLPAPER);
            intent.putExtra(EXTRA_LIVE_WALLPAPER_COMPONENT,
                    new ComponentName(this, MyWallpaperService.class));
            startActivity(intent);
        }
    public void onPush(View view) {
    WallpaperManager wm = WallpaperManager.getInstance(this);
    WallpaperInfo wallpaperInfo = wm.getWallpaperInfo();
    if (wallpaperInfo != null) {
        try {
            wm.setBitmap(paper1);
            finish();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    finish();
    System.exit(0);
}
}

Это код ошибки, который я получаю: 'decodeResource(android.content.res.Resources, int)' в 'android.graphics.BitmapFactory' нельзя применить к '(android.content.res.Resources, android.graphics.drawable.Drawable)"

0 ответов

Другие вопросы по тегам