我创建了一个动态壁纸应用程序,就像我们在主屏幕上获取默认壁纸一样,即使我的Android手机重启后,如何将动态壁纸设置为默认壁纸?
答案 0 :(得分:2)
设置动态壁纸是为平台应用程序保留的,例如与设备捆绑在一起的动态壁纸选择器(权限android.permission.SET_WALLPAPER_COMPONENT
定义为signatureOrSystem
)。
如果没有root设备,你将无法做到这一点。你可以做的是使用以下代码向用户显示壁纸选择器:
Intent intent = new Intent();
intent.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag
startActivity(intent);
您可以在新壁纸可用时(或在系统启动时)向用户显示通知,当用户点击该通知时,使用上述代码启动选择器,以便他可以选择您的壁纸。