Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 手机启动时存在LiveWallpar文件_Android_Live Wallpaper - Fatal编程技术网

Android 手机启动时存在LiveWallpar文件

Android 手机启动时存在LiveWallpar文件,android,live-wallpaper,Android,Live Wallpaper,我有这个活墙纸,你可以选择自己的自定义背景,并立即启动应用程序检查是否存在文件路径,如果不存在,它标志着只画一个黑屏。问题是,每次我重新启动手机时,背景都不会被绘制,但它是在实时壁纸预览中绘制的 我高度怀疑Media Scanner或所有目录尚未装入,但我该怎么办?每次单击预览和设置墙纸时,墙纸引擎都会创建。因此,问题是您必须在引擎中的变量中保存文件路径。将此变量设为类级别。它会起作用的我也遇到过同样的问题。我所做的是更改共享首选项我正在检查密钥。如果key为null,那么我将从preferen

我有这个活墙纸,你可以选择自己的自定义背景,并立即启动应用程序检查是否存在文件路径,如果不存在,它标志着只画一个黑屏。问题是,每次我重新启动手机时,背景都不会被绘制,但它是在实时壁纸预览中绘制的


我高度怀疑Media Scanner或所有目录尚未装入,但我该怎么办?

每次单击预览和设置墙纸时,墙纸引擎都会创建。因此,问题是您必须在引擎中的变量中保存文件路径。将此变量设为类级别。它会起作用的

我也遇到过同样的问题。我所做的是更改共享首选项我正在检查密钥。如果key为null,那么我将从preference获取所有数据。当您重新启动手机时,您创建的引擎将以null键传递,解决方案是注册安装在广播接收器上的Intent.ACTION\u MEDIA\u。即使没有任何真正的外部介质,这似乎也能起作用。外部存储介质不仅仅是物理上的外部存储


您是否考虑过在设置图像时将文件的低分辨率副本复制到实时壁纸中,基本上是缓存图像?这样媒体扫描仪就不会干扰,因为墙纸已经包含了它的源图像。@iKiar-hmm我不太明白,你是说我应该以某种方式缓存所选的图像?因为关键是用户可以从手机上选择图像。对不起,我会尽量说得更清楚。我建议,一旦用户从自己的本地文件中选择图像,在将其设置为背景的过程中,您还可以在本地资源中为应用程序创建一个缓存文件。这样,它在启动时就可以随时使用。如果用户请求更改他们的图像,只需用新的文件覆盖以前缓存的文件即可。谢谢,但这不是问题所在。在重新启动之前,图像背景在预览和主屏幕上都可以正常工作。顺便说一下,路径存储在SharedReferences数据库中。我也遇到过同样的问题。我所做的是更改共享首选项我正在检查密钥。如果key为null,那么我将从preference获取所有数据。当您重新启动手机时,您的引擎将创建并将密钥传递为null。