Android 音频播放的广播意图?

2023-12-30

我正在尝试构建一个 Android 应用程序,它使用广播接收器来检测音乐播放何时开始,然后提供手势控制来触发发送跳过曲目意图。

首先,我只想将接收器设置为在音频播放开始时触发通知,以便我可以检查这个概念是否有效。我已经在清单文件中声明了一个服务和一个接收器,并且创建了一个服务类(希望)通过 onCreate() 创建通知。

我已经爬行了大量的文档,但似乎无法找到用我的接收器监听的正确意图。肯定有这样的东西存在吗?

Regards.


事实证明,Android 3.1 及更高版本中有一个新的安全功能,在用户手动打开应用程序至少一次之前,广播接收器不会注册。由于我试图构建一个没有 UI 可打开的纯服务应用程序,因此这阻止了我所有意图侦听器尝试的工作。

我已经修改为具有闪屏活动,现在一切都按我希望的方式工作。我现在正在整理一份特定于玩家的意图列表,但对于那些尝试构建类似内容的人来说,com.android.music.playstatechanged 似乎是最好的开始。当音乐开始、暂停或恢复时,默认播放器 (Google Play Music) 会触发此功能,并将其与额外数据捆绑在一起,其中包括用于区分播放和暂停状态的布尔“播放”属性。

本质上,这是我现在使用的核心接收器。玩得开心!

public class MainReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        // Start the service when music plays, stop the service when music ends.
        if(intent.hasExtra("playing")) {
            if(intent.getBooleanExtra("playing", false)) {
                Intent service = new Intent(context, MainService.class);
                context.startService(service);
            } else {
                Intent service = new Intent(context, MainService.class);
                context.stopService(service);
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 音频播放的广播意图? 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 在 XQuery 中搜索两个图节点之间的路径

    我正在尝试创建一种算法 用于搜索并返回 xQuery 中图形中两个节点之间的路径 但到目前为止我没有运气 因为它只返回一个节点及其相邻节点 首先 我应该明确该图是一个有向图 每个节点可以有零个 一个或多个原点 在 XML 中 节点仅具有到其
  • 如何使用 SSL 在 RHEL 上编译 python3?无法导入 SSL

    我正在尝试在 RHEL 上编译 python 因为我当前的 python 使用的是旧的 1 0 2k ssl 版本 test env brad reason tlscheck python3 version Python 3 9 3 tes
  • 带有 Linq Select 的 Expression> - CS1929 List 不包含“Select”的定义和最佳扩展方法

    我收到以下错误 但无法解决 CS1929 List
  • 将instanceof与类Object一起使用[重复]

    这个问题在这里已经有答案了 使这项工作正常进行的正确语法是什么 public boolean isTypeOf Class type return this instanceof type 我打算这样称呼它 foo isTypeOf MyC
  • 什么是以“t”开头的值以及如何在计数时忽略它们

    我正在尝试查询某些属性的频率Wikidata https query wikidata org 使用 SPARQL 例如 为了找出性别不同值的频率是多少 我有以下查询 SELECT rid COUNT rid AS count WHERE
  • 获取 127.0.1.1 而不是 192.168.1.* ip ubuntu python

    我是Python新手 我想获取系统的IP地址 我是在局域网中连接的 当我使用下面的代码获取IP时 它显示127 0 1 1而不是192 168 1 32 为什么不显示 LAN ip 那我怎样才能得到我的LAN ip呢 每个教程都只展示这种方
  • 使用 FileStream 创建文件会返回 InvalidOperationException

    它返回exception特别是在line 12 public void saveToXML URL newURL new URL newURL type type newURL name name newURL info info newU
  • Reactor 项目和 Java 内存模型

    我试图了解 Projectreactor 为应用程序代码提供的数据可见性方面的保证 例如我预计下面的代码会失败 但经过一百万次迭代后它不会失败 我正在更改线程 A 上典型 POJO 的状态 并从线程 B 读回它 Reactor 是否保证 P
  • 想要在本机反应中自动滚动平面列表

    我正在尝试自动滚动我的平面列表 但是当我运行代码时 我无法自动滚动 如果我想手动滚动 它会在每 5 秒后到达索引 0 这是我的平面列表及其 refs 函数的所有代码 在构造函数中 this flatList1 null 并在 compone
  • 在 webpack 构建中包含 git commit 哈希值和日期

    我正在使用react es6 webpack 我想在我的应用程序中的某处显示构建日期和 git 哈希值 最好的方法是什么 你可以使用 webpack 的定义插件 https webpack js org plugins define plu
  • WPF 文本块 TargetNullValue 不起作用?

    我有一个 wpf 文本块 如下所示
  • GOTO 仍然被视为有害吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每个人都知道迪杰斯特拉 Dijkstra 给编辑的信 转到被认为有害的声明 http portal acm org citation cfm d
  • 有没有免费的lib访问html5数据库SQLite?

    该库应该易于使用来访问 html5 本地存储 sqlite 就像定义表 添加 更新 删除实体 从数据库查询实体一样 可能使用该库我可以编写如下代码 code var db new MyDataBase var users db Users
  • 为什么一个能工作,一个崩溃?

    这已经让我抓狂了一个多星期了 下面是游戏中机器人玩家的两段 Lua 代码片段比特战士 http bitfighter org 用 C 编写 使用 LuaWrapper 的变体进行绑定 当我第一次启动 Lua 脚本时 两者都完全按预期工作 但
  • REST批量删除多个项目

    我需要按批处理中的 id 删除多个项目 但是 HTTP DELETE 不支持正文有效负载 解决方案 1 DELETE path abc itemId 1 itemId 2 itemId 3 on the server side it wil
  • 气流相对导入外部 /dag 目录

    我无法将通用代码移至气流使用的 dag 目录之外 我看过气流源 https github com apache incubator airflow blob 4f20f607764bb3477419321b5dfd0c53ba1db3c0
  • 下载并保存 PDF 以供查看

    我正在尝试从我的应用程序下载 PDF 文档并将其显示在 IBooks 中 或者至少在下载完成后使其可供阅读 我按照 Xamarin 的下载示例进行操作 它允许我下载 PDF 并将其保存在本地 它也以错误的编码保存 这是我到目前为止所尝试过的
  • MongoDB NodeJS 返回子文档

    我正在尝试返回与查询字段匹配的子文档 我只想返回与用户匹配的 PIN 该 PIN 保存在帐户集合中 这就是我到目前为止所得到的 router post SelectUser async req res gt try const acc aw
  • 我的网络应用程序应该支持哪个版本的 Internet Explorer (IE) [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 由于 MS 将很快停止支持 IE 8 之前的任何内容 我不确定是否应该使我的网络应用程序与那些旧浏览器兼容 我知道仍然有人在使用它们 但我不知道是否有
  • Android 音频播放的广播意图?

    我正在尝试构建一个 Android 应用程序 它使用广播接收器来检测音乐播放何时开始 然后提供手势控制来触发发送跳过曲目意图 首先 我只想将接收器设置为在音频播放开始时触发通知 以便我可以检查这个概念是否有效 我已经在清单文件中声明了一个服