Android BroadcastReceiver 千万不要做耗时的操作,如果有耗时的操作,请让OnReceive 中调用service。

@Override
public void onReceive(Context context, Intent intent) {
try {afd = assetManager.openFd("notify.wav");mAm.requestAudioFocus(null,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN);MediaPlayer player = new MediaPlayer();player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength());player.prepare();player.start();player.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){@Override
        public void onCompletion(MediaPlayer mp) {mAm.abandonAudioFocus(null);}});
} catch (IOException e) {e.printStackTrace();
}
}
接到订单播放提示语音,发现有时候不能播放出来!!
后来改写到service中
@Override
public int onStartCommand(Intent intent, int flags, int startId) {AssetManager assetManager = getApplicationContext().getAssets();AssetFileDescriptor afd = null;try {afd = assetManager.openFd("notify.wav");mAm.requestAudioFocus(null,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN);MediaPlayer player = new MediaPlayer();player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength());player.prepare();player.start();player.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){@Override
            public void onCompletion(MediaPlayer mp) {mAm.abandonAudioFocus(null);}});} catch (IOException e) {e.printStackTrace();}return START_STICKY;
然后在Onreceive 中调用service
Toast.makeText(context, "收到了通知", Toast.LENGTH_SHORT).show();
Intent serviceIntent = new Intent(context, PlayMediaService.class);
context.startService(serviceIntent);

Android BroadcastReceiver中播放提示语音有时失效问题相关推荐

  1. android listview中播放视频,支持全屏

    最近在做项目的时候有需求要在 listView 中播放视频,并且支持横竖屏无缝切换,在网上搜索了一下,关于这种 demo真的很少, 有的也只是实现简单的功能,无法满足项目中的需求,想着修改一下凑合用, ...

  2. html 安卓 视频加载错误,javascript – html5视频无法在Android webview中播放,但适用于(移动)Chrome...

    我有一个(客户)网站使用js brightcove player来渲染html5视频. (阅读:我无法编辑网站本身) 在移动Chrome中,视频有效,一切都很好.但是在我的Android应用中,使用呈 ...

  3. android浏览器音频播放器,javascript – 在Android浏览器中播放html5音频

    我有一个JavaScript在浏览器中播放音频,使用html5< audio>标签.它在iPhone浏览器中工作正常,但不在Android中. (使用Android 2.1测试使用htc愿 ...

  4. Android 开发中调用google语音接口

    最近项目开发中需求中要采用多种的输入方式,于是乎想起google的语音搜索做了一下尝试,做了一个简单的语音识别的demo,总结起来,大致的过程如下: 一.检查Androird手机上是否装上了googl ...

  5. 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!

    前言 MusicPlayer 是一款基于vlc播放器开发的一个音乐播放器,你也可以理解为在此核心上的搬砖之路,核心的内容并不是我写的,因此在正式写blog之前,感谢那些vlc核心的开发人员让我用到这么 ...

  6. Android模拟器放出视频,android模拟器中播放视频(有声无影等问题的解决)

    今天按照<Android应用开发揭秘>中的代码做了个播放视频的小例子,播放后发现有声无音,发现是视频分辨率过大造成的. 使用格式工厂工具把MP4转换一下就可以了. 转换的配置如图 转换后的 ...

  7. JSP中播放提示声音

    1.动态HTML标签<bgsound>此元素不需要关闭标签.主要控制属性如下: id-id是给bgsound起的名字,以便以后调用. src-所插入声音的URL(网址). loop-设置循 ...

  8. Android studio中 RelativeLayout 的 layout_marginBottom 属性失效问题

    第一种RelativeLayout 下设置 ImageView 失效 <ImageViewandroid:id="@+id/imageview"android:layout_ ...

  9. android 日历没有提醒功能,如何在Android 4中无提示地将日历事件添加到默认日历中而无任何提示?...

    小编典典 这是我最终成功的一个工作示例: ContentResolver cr = ctx.getContentResolver(); ContentValues values = new Conte ...

最新文章

  1. 《开源安全运维平台OSSIM最佳实践》实验环境下载
  2. 是漏电,还是电磁辐射?
  3. sylog mysql_syslog-ng+loganalyzer搭建日志集中监控平台
  4. html5up ui开源框架,ZUI-HTML5前端 UI 框架
  5. 网络:窗口控制下的重发机制、流量控制
  6. mysql 存储引擎接口_MySQL 的基础一(连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器,)...
  7. 记录一次查询log的经历
  8. CSS Grid布局(2)
  9. Css内边距与外边距
  10. PyTorch:将模型转换为torch.jit.ScriptModule
  11. 网络管理员&MCSE2003之2:使用虚拟机Vmware建立多电脑网络环境
  12. 【新功能发布】事件监控升级-支持自动化处理云产品异常
  13. [转载]Spring Cloud微服务Sentinel+Apollo限流、熔断实战
  14. Unity零基础到入门 ☀️| Unity下载安装---使用UnityHub下载各个版本的Unity(收藏)
  15. 简易局域网聊天java_简单的局域网聊天程序(java版本的)
  16. html oa 表单,OA表单制作(致远)
  17. 谷歌gmail注册入口_Gmail,日历和其他Google Apps即将出现的外观如下
  18. 屏蔽烦人的百度搜索热点
  19. 使用async.whilst要注意的地方
  20. OpenCV情绪识别(Python实现,超简单)

热门文章

  1. RSA key format is not supported
  2. 摩托车计算机辅助设计,摩托车消声器消声特性及计算机辅助设计研究
  3. Linux下实现脚本监测特定进程占用内存情况
  4. Android中Intent传递Object和ArrayListObject对象---笔记
  5. 44. xargs命令
  6. 【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
  7. wamp下Apache2.4.x局域网访问403的解决办法
  8. BZOJ3476 : [Usaco2014 Mar]The Lazy Cow
  9. 在 Eclipse 3.5中在线安装SVN插件
  10. 由胡润百富榜联想到的