android开发教程之卸载sd卡对MediaServer的处理
下面这段代码是android中Music中的处理代码:
MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
mIsInitialized = false;
mCurrentMediaPlayer.release();
mCurrentMediaPlayer = new CompatMediaPlayer();
mCurrentMediaPlayer.setWakeMode(MediaPlaybackService.this, PowerManager.PARTIAL_WAKE_LOCK);
mHandler.sendMessageDelayed(mHandler.obtainMessage(SERVER_DIED), 2000);
return true;
default:
Log.d("MultiPlayer", "Error: " + what + "," + extra);
break;
}
return false;
}
};
简单来看,就是遇到MediaServer died这种情况,就release掉原来的MediaPlayer,然后重新创建一个MediaPlayer(会在MediaServer重新启动后关联起来)。然后可以根据原来的状态做相应的动作。
相关推荐
-
android监听安装和卸载示例
BroadcastReceiver 是系统全局广播监听类, 其主要方法是onReceive(),自定义的广播类继承于它并实现自己的onReceive()处理逻辑BroadcastReceiver 使用前,需要进行注册监听(xml和代码两种方式),不使用时需要注销监听,其生命周期一般为整个应用的生命周期 1, 自定义广播自定义广播MyInstalledReceiver继承自BroadcastReceiver,实现其onReceive()方式,具体代码如下: 复制代码 代码如下: public cl
-
android实现静默安装与卸载的方法
本文实例讲述了android实现静默安装与卸载的方法.分享给大家供大家参考.具体如下: 方法1:[使用调用接口方法,由于安装卸载应用程序的部分API是隐藏的,所以必须下载Android系统源码,在源码下开发并编译之后使用MM命令编译生成APK文件] import java.io.File; import android.app.Activity; import android.os.Bundle; import android.content.Intent; import android.con
-
在Android 模拟器上安装和卸载APK包的方法
模拟器(emulator.exe) 可以在 Android SDK 的安装目录下的 tools 文件夹找到运行文件(F:GPhoneandroid-sdk-windows-1.0_r1 ools),双击运行模拟器. 安装 APK 包 adb install [-l] [-r] - push this package file to the device and install it<'-l' means forward-lock the app><'-r' means reinstall
-
Android 监听apk安装替换卸载广播的实现代码
首先是要获取应用的安装状态,通过广播的形式以下是和应用程序相关的Broadcast ActionACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)ACTION_PACKAGE_REPLACED 一个新版本的应用安装到设备,替换之前已经存在的版本ACTION_PACKAGE_CHANGED 一个已存在的应用程序包已经改变,包括包名ACTION_PACKAGE_REMOVED 一个已存在的应用程序包已经从设备上移除,包括包名(正
-
Android编程之软件的安装和卸载方法
本文实例讲述了Android编程之软件的安装和卸载方法.分享给大家供大家参考,具体如下: 安装:从sdcard String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + filePath),&
-
详解Android App卸载后跳转到指定的反馈页面的方法
很多人也许会问:360被卸载之后会跳转到指定的反馈页面,是怎么弄的? 其实这个问题的核心就在于:应用被卸载了,如果能够做到后续的代码逻辑继续执行 我们再来仔细分析一下场景和流程 一个应用被用户卸载肯定是有理由的,而开发者却未必能得知这一重要的理由,毕竟用户很少会主动反馈建议,多半就是用得不爽就卸,如果能在被卸载后获取到用户的一些反馈,那对开发者进一步改进应用是非常有利的.目前据我所知,国内的Android应用中实现这一功能的只有360手机卫士.360平板卫士,那么如何实现这一功能的? 我们可以把
-
使用python编写批量卸载手机中安装的android应用脚本
该脚本的功能是卸载android手机中安装的所有第三方应用,主要是使用adb shell pm.adb uninstall 命令,所以使用的前提是需要配好adb的环境变量,下面上代码: #!/usr/bin/env python import os def uninstall(): os.popen("adb wait-for-device") print "start uninstall..." for packages in os.popen("adb
-
Android编程实现监控apk安装,卸载,替换的方法
本文实例讲述了Android编程实现监控apk安装,卸载,替换的方法.分享给大家供大家参考,具体如下: public class GetBroadcast extends BroadcastReceiver { private static GetBroadcast mReceiver = new GetBroadcast(); private static IntentFilter mIntentFilter; public static void registerReceiver(Conte
-
Android 静默方式实现批量安装卸载应用程序的深入分析
前段时间做了一个批量安装卸载应用程序的小应用,由于安装卸载应用程序的部分API是隐藏的,所以必须在ubuntu下下载Android系统源码,并编译之后使用MM命令编译生成APK文件,其实也难. 思路是这样的,在XX/packages/apps目录下有一个PackageInstaller的应用程序,Android机器中安装卸载都是由这个应用程序完成的.但是它没有批量安装和卸载的功能,如果要在自己的应用程序中添加批量安装和卸载的功能,其实很简单,只需要参考PakcageInstaller里面的安装卸
-
android如何添加桌面图标和卸载程序后自动删除图标
1:创建图标如下 复制代码 代码如下: Intent intent = new Intent(); intent.setClass(this, SplashActivity.class); Intent addShortcut = new Intent(ACTION_ADD_SHORTCUT); Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon); addShortcut.putExtr
随机推荐
- C#实现QQ截图功能及相关问题
- Python的SQLalchemy模块连接与操作MySQL的基础示例
- IIS FTP 出现 530 User cannot log in, home Directory Inaccessible 错误处理方法
- PHP分页详细讲解(有实例)
- php lcg_value与mt_rand生成0~1随机小数的效果对比分析
- MySQL修改root账号密码的方法
- php获取当前月与上个月月初及月末时间戳的方法
- JQuery 绑定事件时传递参数的实现方法
- 浅析Android系统的架构以及程序项目的目录结构
- 参考Dedecms整合Discuz完全攻略实现最新的结合
- 详谈jvm--Java中init和clinit的区别
- centos 5.6 升级php到5.3的方法
- 修正IE下使用CSS属性overflow的bug
- vue-cli配置文件——config篇
- C++二叉树实现词频分析功能
- Linux使用vim编辑文件保存时报E514:write error (file system full?)问题解决
- Spring Boot使用Value注解给静态变量赋值的方法
- 详解vue-cli3开发Chrome插件实践
- Smarty模板配置实例简析
- js prototype深入理解及应用实例分析