`

判断一个动态壁纸是否已经在运行

 
阅读更多
/**
     * 判断一个动态壁纸是否已经在运行
     * @param context:上下文
     * @param tagetPackageName:要判断的动态壁纸的包名
     * @return
     */
    public static boolean isLiveWallpaperRunning(Context context,
            String tagetPackageName) {
        WallpaperManager wallpaperManager = WallpaperManager
                .getInstance(context);// 得到壁纸管理器
        WallpaperInfo wallpaperInfo = wallpaperManager.getWallpaperInfo();// 如果系统使用的壁纸是动态壁纸话则返回该动态壁纸的信息,否则会返回null
        if (wallpaperInfo != null) {// 如果是动态壁纸,则得到该动态壁纸的包名,并与想知道的动态壁纸包名做比较
            String currentLiveWallpaperPackageName = wallpaperInfo
                    .getPackageName();
            if (currentLiveWallpaperPackageName.equals(tagetPackageName)) {
                Toast.makeText(context, "该动态壁纸已经在运行了", Toast.LENGTH_SHORT)
                        .show();
                return true;
            }
        }
        return false;
    }

 

后来需求改了,因为要在一个应用中用到两个动态壁纸引擎,也就是两个wallpaperservice,而他们都在同一个应用中,也就是包名一样,想要切换不同的引擎要通过包来判断无法实现。于是想到另一种方法,通过服务名来判断,这样即使有多个不同的殷勤提供商也能区分开来!

/**
     * 判断一个动态壁纸是否已经在运行(根据service名来判断,因为一个动态壁纸主要就是一个service)
     * 
     * @param context
     *            上下文
     * @param tagetServiceName
     *            要判断的动态壁纸的服务名
     * @return
     */
    public static boolean isLiveWallpaperServiceRunning(Context context, String tagetServiceName) {
        WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);// 得到壁纸管理器
        WallpaperInfo wallpaperInfo = wallpaperManager.getWallpaperInfo();// 如果系统使用的壁纸是动态壁纸话则返回该动态壁纸的信息,否则会返回null
        if (wallpaperInfo != null) { // 如果是动态壁纸,则得到该动态壁纸的service名,并与想知道的动态壁纸service名做比较
            String currentLiveWallpaperServiceName = wallpaperInfo.getServiceName();
            if (currentLiveWallpaperServiceName.equals(tagetServiceName)) {
                return true;
            }
        }
        return false;
    }
 
1
0
分享到:
评论

相关推荐

    Android 壁纸设置和确认demo源码和apk文件

    此外,可以通过比较设置前后的壁纸信息,间接判断壁纸是否发生变化。 在提供的demo源码中,开发者可能实现了上述功能,并且可能包含了一个用户界面,用户可以在界面上选择并预览壁纸,点击确定后调用`...

    win10壁纸保存脚本文件

    你可以使用文件的修改日期来判断哪一个是新更换的壁纸。 3. 保存壁纸:右键点击文件,选择“重命名”,添加`.jpg`或`.png`作为扩展名,然后按回车确认。现在你可以预览并保存这些图片了。 然而,手动操作可能会...

    易语言自动壁纸

    易语言自动壁纸源码,自动壁纸,重写配置,置自动运行,取消自动运行,是否自动运行,查找项目,取坐标行号,添加桌面右键菜单,取消桌面右键菜单,写注册项文本,读注册项文本,系统参数,发送消息_文本,寻找顶级窗口_,判断窗口...

    易语言源码易语言动态桌面背景源码.rar

    通过深入研究这个源码,你可以了解到如何用易语言实现一个动态桌面背景程序,包括图形界面的设计、图像处理、多线程技术的应用以及与操作系统的交互。这对于初学者来说是一个很好的实践项目,有助于提升编程技能和...

    易语言桌面壁纸更换工具例程

    此工具的核心功能包括读取设置、创建壁纸列表、判断是否修改、修改注册表、图片格式转换(JPG和GIF转BMP)、执行墙纸更换以及读写配置文件等。下面将详细解析这些关键知识点。 1. 易语言:易语言是一种以中文为编程...

    安卓锁屏九宫格锁屏解锁壁纸相关-百度壁纸主框架.rar

    本压缩包文件"百度壁纸主框架.rar"包含了与这种锁屏方式相关的代码和资源,旨在为开发者提供一个参考框架,用于创建或优化自己的锁屏应用。 九宫格锁屏的核心原理是将屏幕划分为9个可触摸的区域,用户需要按照预设...

    桌面壁纸时时换 V1.1.zip

    用户可以通过查看更新日志来了解软件的最新动态,判断是否需要进行更新。 "桌面壁纸时时换 V1.1"的特色在于其自动化特性,能够为用户提供持续变换的桌面背景,满足用户对于个性化和视觉享受的需求。同时,它的易用...

    二十四节气壁纸自动更换.rar

    4. **定时器**:为了实现定期检查节气,可以使用Windows的定时器功能,例如`SetTimer()`函数,设定一个合适的间隔,定期检查当前的节气状态。 5. **开机自启动**:为了让程序在每次启动电脑时自动运行,需要将可...

    易语言源码设置壁纸.rar

    标题提到的"易语言源码设置壁纸.rar"是一个使用易语言编写的程序,其主要功能可能是用于设置计算机桌面壁纸。这个压缩包包含了两个文件:`设置壁纸.e` 和 `源码使用说明.txt`。 `设置壁纸.e` 是易语言的工程文件,...

    安卓锁屏九宫格锁屏解锁壁纸相关-仿LockRing类似于滑动解锁滑动中间圆环到某个位置达到选择某个功能并解锁屏幕.rar

    在安卓平台上,锁屏界面是用户与设备交互的...总的来说,这款仿LockRing的九宫格锁屏解锁壁纸应用展示了安卓开发中的创新思维和技术实践,对于想要深入理解安卓锁屏机制和手势识别的开发者来说,是一个极好的学习素材。

    ColorDunes-Wallpaper:可以根据设备的当前时间更改颜色的动态壁纸

    5. **性能优化**:动态壁纸需要在后台持续运行,因此必须考虑性能和电量消耗。开发者可能采用了智能更新策略,比如只在用户解锁屏幕或特定时间间隔时更新壁纸颜色,而非实时更新,以减少不必要的资源消耗。 6. **...

    (实例009)判断桌面大小.rar

    "(实例009)判断桌面大小.rar"这个压缩包文件可能包含了一个编程示例或教程,用于教导如何检测用户的桌面屏幕分辨率或者窗口大小。下面,我们将深入探讨与这个主题相关的知识点。 首先,屏幕分辨率是指显示器可以...

    DELPHI专题文档-程序应用

    判断一个程序是否dos版本 Delphi自定义消息应用一例 显示密码编辑框中的密码 也谈Delphi中的日期输入 用修改文件时间的方法来加密文件 在DELPHI中处理时间 在Delphi中用拼音首字符序列来实现检索功能 用...

    DELPHI专题--程序应用

    判断一个程序是否dos版本 Delphi自定义消息应用一例 显示密码编辑框中的密码 也谈Delphi中的日期输入 用修改文件时间的方法来加密文件 在DELPHI中处理时间 在Delphi中用拼音首字符序列来实现检索功能 用...

    易语言源码易语言win7自动换壁纸源码.rar

    在本资源"易语言源码易语言win7自动换壁纸源码.rar"中,包含了一个使用易语言编写的程序,该程序能够实现Windows 7操作系统下的自动更换桌面壁纸功能。下面我们将详细探讨相关的知识点。 1. **易语言基础** - **...

    安卓锁屏九宫格锁屏解锁壁纸相关-智能UI锁屏.zip

    开发者警告说,由于数量众多,他们无法对所有源码进行验证,因此在尝试运行时可能会遇到问题。这意味着,对于那些想要深入理解如何构建这种锁屏应用的开发者而言,这是一个学习和调试的机会。部分代码可能是为了参考...

    android 6.0 权限

    在Android 6.0后,这是一个危险权限,需要在运行时请求。 4. **`ACCESS_COARSE_LOCATION`和`ACCESS_FINE_LOCATION`权限**:这两个权限与地理位置有关。`ACCESS_COARSE_LOCATION`允许应用获取粗略的位置信息,如基站...

    2021-2025年中国壁纸行业调研及经营发展战略研究报告.pdf

    中国壁纸行业发展研究报告涵盖了壁纸行业的多个方面,包括行业的发展现状、企业经营战略、市场竞争格局、行业监管体制、技术壁垒、价值链构成以及未来的发展趋势等。 首先,报告中强调了企业经营发展战略的重要性及...

    win7系统如何判断C盘文件是否可删除.docx

    在Windows 7操作系统中,C盘通常存放着系统文件、应用程序和用户数据,随着时间的推移,C盘的存储空间可能会被填满,影响系统的运行效率。为了优化系统性能,有时候我们需要清理C盘中的无用文件。以下是关于如何判断...

    压缩机故障的判断与维修.

    - 将机体浸泡在柴油中一天,然后尝试手动旋转电机转子,观察是否有松动现象。 - 如果轴与机架有松动,可以适当增大旋转角度,直到电机能够自由旋转为止,并涂抹防锈油备用。 - 如果仍然无法旋转,需要进一步拆卸气缸...

Global site tag (gtag.js) - Google Analytics