我之前问过这个问题,但被报道为DUPLICATE。但是,建议的帖子没有回答我的问题。因此,我正在再次尝试并使自己更加清晰。
我正在尝试开发一个可在设备锁定时每次单击电源/主页按钮来更改壁纸的应用程序(有点像三星锁屏壁纸库)。因此,每次屏幕从黑到亮时,墙纸都会改变。
我了解到,使用action_screen_on可以一定程度实现这一目标。但是,据说这种意图只能在应用程序正在运行时使用。我希望壁纸即使在应用程序被终止后也能改变。
这是我的代码的片段:
public class screenOnReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(context);
int height = 500;
int width = 500;
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paintGradient = new Paint(Paint.ANTI_ALIAS_FLAG);
Shader shader = new LinearGradient(0, 0, width, height,
new int[]{0xffffff, 0x454545}, null, Shader.TileMode.CLAMP);
paintGradient.setShader(shader);
canvas.drawRect(0, 0, width, height, paintGradient);
try {
myWallpaperManager.setBitmap(bitmap);
} catch (IOException e) {
Log.v("Error", "Problem setting wallpaper");
}
}
}
}
我什么也没看到。好像这个BroadcastReceiver根本没有被触发。 谢谢大家。