当前位置: 首页 > 知识库问答 >
问题:

android - 如何获取到app后台事件?

帅锦
2023-07-24

在我的flutter项目里一个页面在播放mp3文件,当app滑至后台时音频还是会继续播放?请问如何能够实现当app后台时暂停播放,打开时继续播放?

共有1个答案

吴驰
2023-07-24
import 'package:flutter/material.dart';class MyApp extends StatefulWidget {  @override  _MyAppState createState() => _MyAppState();}class _MyAppState extends State<MyApp> with WidgetsBindingObserver {  AppLifecycleState _appLifecycleState;  @override  void initState() {    super.initState();    WidgetsBinding.instance.addObserver(this);  }  @override  void dispose() {    WidgetsBinding.instance.removeObserver(this);    super.dispose();  }  @override  void didChangeAppLifecycleState(AppLifecycleState state) {    _appLifecycleState = state;    switch(state) {      case AppLifecycleState.paused:        // App进入后台        // 在这里暂停音频播放        break;      case AppLifecycleState.resumed:        // App进入前台        // 在这里恢复音频播放        break;      default:        break;    }  }  @override  Widget build(BuildContext context) {    return MaterialApp(      home: Scaffold(        appBar: AppBar(          title: const Text('App Lifecycle Demo'),        ),        body: Center(          child: Text('Current state: $_appLifecycleState'),        ),      ),    );  }}void main() {  runApp(MyApp());}
 类似资料:
  • cmf_get_admin_style() 功能 获取当前后台风格名称 参数 无 返回 string 风格名称

  • 问题内容: 我从shell脚本启动了一个后台进程,我想在脚本结束后终止该进程。 如何从我的shell脚本中获取此过程的PID?据我所知,变量包含当前脚本的PID,而不是后台进程。 问题答案: 您需要在启动时保存后台进程的PID: 您不能使用作业控制,因为它是一种交互式功能,并且与控制终端绑定在一起。脚本完全不必附加终端,因此作业控制不一定可用。

  • cmf_get_admin_style() 功能 获取当前后台风格名称 参数 无 返回 string 风格名称

  • 我正在试验JavaEE7、CDI、JPA和JSF。 当webapp启动时,我想在我的cdibean(用@PostConstruct标记)中运行一个初始化方法,该方法对数据库进行一些操作(插入一些行等)。为此,我需要一笔交易,但这并不像我预期的那么容易。 我曾尝试将@Transactional注释添加到我的方法中,但显然它只适用于EJB。实际上,我尝试将bean转换为EJB而不是cdibean,但仍

  • 问题内容: 我正在编写一个需要向Android日历中添加一些事件的应用程序。对于插入,我只使用了以下代码: 现在,我想知道是否有可能获得与该事件关联的ID,以这种方式在插入事件并将其ID保存到我的应用程序后,用户可以直接从应用程序内部调用该事件。可能吗? 问题答案: 我提取了用于将事件存储到android日历中的列的列表。这里的清单: [0]“ originalEvent”(id = 830007

  • 我想在后台运行服务时获得一次设备的位置(追踪器监视数据库中的变化,然后执行应该获得手机地理位置的代码)。我遇到了一个问题:程序在应用程序运行时接收位置数据,但当它进入后台时,位置数据在几秒钟内停止接收。我尝试了我能找到的所有代码和选项,但当程序进入后台时,一切都停止工作。为此我使用了Android StudioJava。那么我如何实现这一点,甚至可能吗?谢谢。