我想在 flutter 中访问我的系统铃声

2023-12-12

有什么办法可以得到所有的铃声手机使用的flutter,并将所选铃声设置为我的应用程序的默认铃声?

提前致谢


我设法使用本机代码完成它

  1. 首先,您将在 Flutter 端创建这些东西。

    
    // here where your ringtones will be stored
    List<Object?> result = ['Andromeda'];
    
    // this is the channel that links flutter with native code
    static const channel = MethodChannel('com.example.pomo_app/mychannel');
    
    // this method waits for results from the native code 
    Future<void> getRingtones() async {
        try {
          result = await channel.invokeMethod('getAllRingtones');
        } on PlatformException catch (ex) {
          print('Exception: $ex.message');
        }
      }
    
    
  2. 知道您需要实现本机代码。转到MainActivity.kt

    // add the name of the channel that we made in flutter code
    private val channel = "com.example.pomo_app/mychannel"
    
    // add this method to handle the calls from flutter
    MethodChannel(flutterEngine.dartExecutor.binaryMessenger, channel)
      .setMethodCallHandler { call, result ->
                when (call.method) {
                    "getAllRingtones" -> {
                        result.success(getAllRingtones(this))
                    }
    
    
    
    // this function will return all the ringtones names as a list
    private fun getAllRingtones(context: Context): List<String> {
    
      val manager = RingtoneManager(context)
      manager.setType(RingtoneManager.TYPE_RINGTONE)
    
      val cursor: Cursor = manager.cursor
    
      val list: MutableList<String> = mutableListOf()
      while (cursor.moveToNext()) {
        val notificationTitle: String = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX)
        list.add(notificationTitle)
      }
      return list
    }
    

就是这样,我希望这对您有所帮助。如有任何问题请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想在 flutter 中访问我的系统铃声 的相关文章

  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Android 模拟器插件无法初始化后端 EGL 显示

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

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 如何在颤动中从图像选择器中裁剪图像?

    我想允许用户裁剪他从图像选择器中选择的图像并保存它 类似于在 Whatsapp 上上传个人资料图片 我怎样才能在颤振中做到这一点 示例图片 您可以使用这2个flutter库来实现这一点 图像选择器 图像裁剪器 图像选择器使用iOS和Andr
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • AppLifeCycleState.detached 未被调用

    import package flutter material dart void main gt runApp MyApp class MyApp extends StatelessWidget override Widget build
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • Flutter 2.0 appbar 后退按钮如果包含 endDrawer 就会消失

    我刚刚将 flutter 更新到 2 0 我意识到如果 appbar 还包含 endDrawer 所有后退按钮都会消失 带有 endDrawer 的应用栏 https i stack imgur com X2jaf png 我试图摆脱 en
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL

随机推荐

  • 如何在 MyBatis 中使用 UUID 类型处理程序和 @Many 注释?

    我正在使用 mybatis spring boot starter 2 1 0 版本 我需要处理 UUID 类型来获取嵌套集合 Select SELECT id name FROM t service s Results value Res
  • 如何在 Android 中的 MapView 上绘制 KML 文件?

    我必须将 KML 文件绘制到 MapView 中 我看了 在互联网上 但我没有找到如何做到这一点的示例 如果有人可以举例说明如何做到这一点 那就太好了 现在不支持 KML 您可以像这样绘制轨迹 无需 KML 1 向Google服务发出请求
  • 在 Visual Studio 中使用控制台应用程序的输出而不是控制台

    当使用 Eclipse 用 Ja va 编写控制台应用程序时 我看到输出被放入 IDE 本身的文本框中 而不是像 Visual Studio 中那样弹出控制台 这很方便 因为即使程序退出后 我仍然可以充分利用其中写入的文本 因为直到再次运行
  • Pandas shift - 如果满足多个条件,则获取先前的值

    我实际上已经问过这个关于 SQL 的问题 并在这里得到了一个很好的答案 SQL 如果满足使用多个先前列的条件 则 LAG 获取先前的值 但现在我需要它来养熊猫 假设我们有一个数据框 df pd DataFrame id 1 2 3 4 5
  • Python 类方法改变自身

    这不适用于我正在做的任何事情 这只是一些测试代码 因为我只是在学习类方法并且很糟糕 但是假设我有以下代码 class Test int def init self arg self arg def thing self self 10 并去
  • 将外部geojson添加到leaflet层

    我是传单和 JavaScript 的新手 我想我可以使用 geocommons 和 GeoJSON 来托管测绘项目的数据 I found 外部 GeoJSON 和 Leaflet 其他方式 本教程介绍如何使用传单插件读取外部 GeoJSON
  • 如果属性名称以 new 开头,应用程序将崩溃

    在我的项目中 我使用 coredata 其中一个实体有一个名为newTotal 在其对应的 NSManagedObject 类中 属性声明如下 property nonatomic strong NSString newTotal 如果我在
  • Yii2 如何从 url 中删除站点/索引和页面参数

    我在默认页面上使用分页 即在 yii2 中的站点 索引上 所以链接器为分页生成的 URL 看起来像这样 domain com site index page 1 我想删除站点 索引和页面参数 使其如下所示 domain com 1 我尝试在
  • WPF 网格水平对齐不起作用。尺寸不变

    我有一个堆栈 堆栈内有一个网格 当我调整窗口大小时 我需要增加堆栈和网格大小 我将 Stack 和 Grid Horizo ntalAlignment 设置为 拉伸 堆栈工作正常 但当我调整窗口大小时 网格大小不会增加 这是我的代码
  • TensorFlow 索引无效(越界)

    您好 我目前正在尝试使用自己的图像数据运行 TensorFlow 但是当我尝试运行这些函数时它崩溃了 它来自 mnist py def loss fn logits labels batch size tf size labels labe
  • opengl:如何避免纹理缩放

    我该如何申请重复无论应用的顶点数据如何 纹理始终保持其原始比例 纹理中的 1 个像素 屏幕上的 1 个像素 我意识到这不是最常见的任务 但是是否可以轻松设置 opengl 来执行此操作 或者我是否需要对尊重其原始外观的顶点数据应用某种掩码
  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法以选择 sqlite

    我是安卓世界的新手 我的编码有问题 这只是一个小错误 我不知道它不起作用 即使我改变了其他方法 但错误仍然是相同的错误 这里的错误发生在logcat java lang NullPointerException Attempt to inv
  • 使用 DOM 选项定位 DataTables 元素

    我无法正确定位l长度变化和f分别过滤我的右上角和左下角的输入DT datatable输出在shiny使用dom选项 代码 library shiny library DT set seed 2282018 company lt data f
  • Firebase - 限制特定用户的文件访问权限

    我正在尝试使用 Firebase 实现以下行为 用户使用 Firebase 身份验证登录 用户将文件上传到 Firebase 存储 用户输入不同用户的电子邮件地址 该用户帐户可能已经存在 如果没有 收件人会收到一封电子邮件 提示他们注册 上
  • 在不使用 LINQ 或委托的情况下对 C# 列表 <> 进行排序

    我有一个对象列表 每个对象在 3D 空间中都有一个位置 我需要按到任意点的距离对这个列表进行排序 目前我正在这样做 attachedEffectors attachedEffectors OrderBy x gt Mathf Pow x t
  • 使用 Cypher 从 Neo4j 图中提取子图

    假设我在 Neo4j 中有一个包含 5 个节点的集合 使得集合中的每个节点都连接到集合中的至少一个其他节点 我想从 Neo4j 中提取由节点集合及其交互形成的子图 目前 我正在使用一种非常原始的方法 该方法涉及尝试找到系统中每个节点与其他每
  • 在列表视图中选择 edittexts 文本。怎么办呢?我不知道

    我有一个 ListView 每行都有一个 EditText 正在工作 我需要在单击编辑文本时选择此文本以写入数字 而无需删除或移动光标 首先使用 selectAllonfocus 有效 但是 滚动列表视图后 EditText 变得疯狂并且选
  • 如何安全地处理自定义编写的 PowerShell cmdlet 中的密码?

    假设我有一个自定义 PowerShell Cmdlet 用于导出数据并使用密码对其进行加密 Cmdlet VerbsData Export SampleData public class ExportSampleData PSCmdlet
  • React Native DateTimePicker 的日期格式?

    我正在使用 React Native DateTimePicker https github com react native datetimepicker datetimepicker The onChange事件有时间戳 但我不明白它的
  • 我想在 flutter 中访问我的系统铃声

    有什么办法可以得到所有的铃声手机使用的flutter 并将所选铃声设置为我的应用程序的默认铃声 提前致谢 我设法使用本机代码完成它 首先 您将在 Flutter 端创建这些东西 here where your ringtones will