代码之家  ›  专栏  ›  技术社区  ›  robintw

如何设置android锁屏图片

  •  33
  • robintw  · 技术社区  · 14 年前

    我刚刚开始使用android编程,想看看是否有方法以编程方式设置锁屏图像。我在api中找到了各种设置壁纸的方法,但似乎找不到设置锁屏图像的等效方法。

    我看过很多帖子说,通过添加小部件或应用程序来定制锁屏是不可能的,但是肯定有一种方法可以通过编程来设置图像?

    干杯,

    罗宾

    4 回复  |  直到 6 年前
        1
  •  13
  •   CommonsWare    14 年前

    Android中没有“锁屏图像”。最确定的是没有“锁屏图像”的概念是相同的股票之间的安卓,宏达电感官,Motoblur等,这根本不是安卓的sdk的一部分。

    Rijk先生指出的这个项目是一个安全违规行为,它假装是锁屏的替代品。

        2
  •  37
  •   mikepenz    6 年前

    从API级别24开始,他们添加了新方法(并更新了 documentation )和旗帜 WallpaperManager 它允许你设置一个 Wallpaper 不仅对主屏幕,而且对 Lockscreen

    设置一个 墙纸 小精灵 使用新标志 壁纸管理器.flag_lock ,以及其中一种方法 int which

    WallpaperManager.getInstance(this).setStream(inputStream, null, true, WallpaperManager.FLAG_LOCK);
    

    您还可以使用以下方法之一

    int setStream (InputStream bitmapData,  Rect visibleCropHint,  boolean allowBackup, int which)
    
    int setResource (int resid, int which)
    
    int setBitmap (Bitmap fullImage, Rect visibleCropHint,  boolean allowBackup,  int which)
    

    一个很好的补充是,你现在还可以通过 isSetWallpaperAllowed ,然后通过 getWallpaperFile

    查看更新的 文档 对于 墙纸管理器 .

        3
  •  3
  •   ppx    9 年前

    有一种方法可以在三星的设备上实现。你可以多加一点。

    intent.putExtra("SET_LOCKSCREEN_WALLPAPER", true);
    startActivity(intent);
    

    我只在三星的一些手机上测试过这个,不能保证它将来不会坏。小心使用。

        4
  •  0
  •   Chinese Cat    7 年前

    还有别的办法。首先,你需要将你想要在锁定屏幕中设置的图片保存在一个文件夹中(假设它被称为“appname”)。然后,在Gallery打开后,使用以下代码打开Gallery。引导用户打开“appname”文件夹,并在系统的Gallery中选择图片。在图库中,用户可以将图片设置为墙纸或锁屏纸。

    //打开库的代码。 启动性(新意图(意图。动作设置墙纸));