Я задавал этот вопрос раньше, но сообщалось, как ДУБЛИКАТ. Однако предложенный пост не ответил на мой вопрос. Итак, я пытаюсь снова и проясняю себя.
Я пытаюсь разработать приложение, которое может менять обои каждый раз, когда пользователь нажимает кнопку питания / домой, когда устройство заблокировано (что-то вроде библиотеки обоев экрана блокировки Samsung). Таким образом, каждый раз, когда экран переходит от черного к свету, обои меняются.
Я читал, что этого можно достичь с помощью 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 не был запущен вообще.
Заранее спасибо, ребята.