【问题标题】:How to set Live Wallpaper automatically everyday in android如何在android中每天自动设置动态壁纸
【发布时间】:2012-04-03 14:11:15
【问题描述】:

我正在开发一个壁纸应用程序。我们可以通过使用以下代码和服务来自动添加简单的壁纸。

        final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
        final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
        final ImageView imageView = (ImageView) findViewById(R.id.imageview);
        imageView.setDrawingCacheEnabled(true);
        imageView.setImageDrawable(wallpaperDrawable);

现在我必须使用服务自动设置动态壁纸,这意味着动态壁纸应该每天在屏幕上自动设置。我们应该怎么做???

谢谢

【问题讨论】:

  • 您找到解决方案了吗?
  • 不,但如果您找到任何解决方案,请告诉我。谢谢
  • 那里也一样,如果你发现了什么请通知我。
  • @Naskov 你能在这里提供解决方案吗?以便将来对某人有所帮助。
  • @srithatsmyname 在没有任何用户交互的情况下以编程方式设置动态壁纸是不可能的。即使在有根设备上,您也无法设置动态壁纸,也无法超越 LiveWallpaperSerivce 系统类。

标签: android live-wallpaper wallpaper


【解决方案1】:

您可以在预选动态壁纸的情况下启动壁纸选择器,但目前似乎无法在没有用户干预的情况下进行设置。

请参阅此内容以了解执行此操作的 Intent,以及查看您需要提供的 Extra 以预选动态壁纸的文档。 http://developer.android.com/reference/android/app/WallpaperManager.html#ACTION_CHANGE_LIVE_WALLPAPER

【讨论】:

    【解决方案2】:

    在没有任何用户交互的情况下以编程方式设置动态壁纸是不可能的。即使在 root 设备上也无法设置动态壁纸,也无法超越 LiveWallpaperSerivce 系统类。

    【讨论】:

      【解决方案3】:

      当然可以。

      1) 将所有 GIF 文件放在 raw 目录中

      2) 在Engine类中创建多个Movie对象

      3) 在画布上绘制你的电影

         void nyanNyan(Canvas canvas) { 
              canvas.save();
              canvas.scale(mScaleX, mScaleY);
      
              wallpaper_movies.get(Settings.currentWeather).setTime(mWhen);
              wallpaper_movies.get(Settings.currentWeather).draw(canvas, 0, 0);
      
              canvas.restore();
          }
      

      你必须在条件下加载你的 GIF

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 1970-01-01
        相关资源
        最近更新 更多