android-Android 的service监听调用

问题描述

Android 的service监听调用

在一个页面写好ListView之后,点击每一个音乐都能正常播放和停止,当我写了SharedPreferences.Editor存储xml,也能正常读取,并添加了扫描音乐按钮跳转到新的activity,也是成功完成,再销毁之前的ListView界面并重新跳转到同样的新的ListView界面,歌曲列表也读出来了的,然后再点击播放,成功进入service,但是这个时候却无法启动MediaPlayer.start()了,错误日志说是调用虚拟方法,空对象引用。

解决方案

Android之服务Service---电话监听
Android中Dialog对话框的调用及监听
Android 在Service中调用Activity

解决方案二:

因为你创建了许多 MediaPlayer 但是没有释放他们,下面这段代码对你有用:

 public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    if(!isPlaying){
        mPlayer = new MediaPlayer();
        mPlayer.setDataSource(soundid[position]);
        mPlayer.prepare();
        mPlayer.start();
        isPlaying = true;

    }else{

        isPlaying = false;
        mPlayer.stop();
        mPlayer.reset();
        mPlayer.setDataSource(soundid[position]);
        mPlayer.prepare();
        mPlayer.start();
        isPlaying = true;

    }

    mPlayer.setOnCompletionListener(new OnCompletionListener() {

        public void onCompletion(MediaPlayer mPlayer) {
            mPlayer.release();
            isPlaying = false;
        }

    });
}

最后给题主推荐一个技术干货的APP,里面有不少 Android 相关的资源分享,稀土掘金 http://gold.xitu.io/app

时间: 2025-01-01 16:11:14

android-Android 的service监听调用的相关文章

Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

随着移动互联网的快速发展,它已经和我们的生活息息相关了,在公交地铁里面都能看到很多人的人低头看着自己的手机屏幕,从此"低头族"一词就产生了,作为一名移动行业的开发人员,我自己也是一名"低头族",上下班时间在公交地铁上看看新闻来打发下时间,有时候也会看看那些受欢迎的App的一些界面效果,为什么人家的app那么受欢迎?跟用户体验跟UI设计也有直接的关系,最近在美团和大众点评的App看到如下效果,我感觉用户好,很人性化,所以自己也尝试着实现了下,接下来就讲解下实现思路!

Android广播接实现监听电话状态(电话的状态,拦截)_Android

首先我们来理解下监听器的机制. Android的事件处理机制有两种:监听和回调. A基于监听的事件处理 主要涉及三类对象:EventSource(事件源),Event(事件),EventListener(事件监听器) 监听机制处理事件的流程图如下(委派式:Delegation): 1:需要在AndroidManifest.xml清单中添加权限 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS&q

Android网络状态实时监听实例代码(二)_Android

上篇文章给大家介绍了Android 网络状态实时监听代码实例(一),感兴趣的朋友可以点击了解详情,本文接着给大家介绍android网络状态监听相关知识,具体内容如下所示: 在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager来完成该工作. ConnectivityManager有四个主要任务: 1.监听手机网络状态(包括GPRS,WIFI, UMTS等) 2.手机状态发生改变时,发送广播 3.当一

Android广播接实现监听电话状态(电话的状态,拦截)

首先我们来理解下监听器的机制. Android的事件处理机制有两种:监听和回调. A基于监听的事件处理 主要涉及三类对象:EventSource(事件源),Event(事件),EventListener(事件监听器) 监听机制处理事件的流程图如下(委派式:Delegation): 1:需要在AndroidManifest.xml清单中添加权限 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS&q

浅谈Android为RecyclerView增加监听以及数据混乱的小坑

为 RecyclerView增加监听 1.在实现好的MyAdapter中写内部接口: public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) { this.onItemLongClickListener = onItemLongClickListener; } public void setOnItemClickListener(OnItemClickListener onIt

Android 如何实现动态监听连接手机的蓝牙设备是否因为某些原因断开

问题描述 Android 如何实现动态监听连接手机的蓝牙设备是否因为某些原因断开 Android蓝牙API提供的方法中,isconnected(),基本做不到实时检测连接状态,其他的方法,等到的也是设备绑定的状态,并不是我想要的.本来通过写或读数据是可以判断连接状态的,但是,自己起线程轮询的收发数据过去,判断读写异常时可以实现,但是会影响用户发送的数据,业务要求不允许.网络连接中有NetSocket.sendUrgentData(0)这个方法可以做到,偏偏蓝牙又没有,我该怎么做,求指点! 解决方

android listview里面Radiogroup监听事件混乱

问题描述 android listview里面Radiogroup监听事件混乱 public class AdapterTest extends ArrayAdapter { private int resourceId; List<Test> listTest = new ArrayList<Test>(); private ViewHolder viewHolder; public AdapterTest(Context context, int resource, List

android开发 如何实现 监听点击屏幕任意位置事件

问题描述 android开发 如何实现 监听点击屏幕任意位置事件 好比一个导航页,当滑倒最后一页时,提示用户点击屏幕的任意位置进入MainActivity.这种点击事件如何响应? 解决方案 原来是这样的啊啊,这下我知道啦 解决方案二: 最简单的就是,在视图最上面加个控件(全屏显示),背景设置为透明,先设置为gone,滑动到最后页面,显示出来就可以了,然后给这个控件加个事件--

在Android系统中Service的远程调用

在Android系统中Service的远程调用 http://liangruijun.blog.51cto.com/3061169/653344