ACTION_POWER_DISCONNECTED广播使用解析
来源:互联网 发布:软件体系结构原理 编辑:程序博客网 时间:2024/04/28 15:56
在做项目的时候,要求拔出USB接口要删除指定文件,达到某功能;就想到利用ACTION_POWER_DISCONNECTED广播。
- 1、 配置文件
AndroidManifest.xml
<receiver android:name="com.xtc.charging.activity.PowerBroadcastReceiver" > <intent-filter> <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /> </intent-filter></receiver>
- 2、工具类
CommonUtil.java
public static boolean createFile( String destFileName ){ File file = new File( destFileName ); if ( file.exists( ) ) { LogUtil.d( TAG, "创建单个文件" + destFileName + "失败,目标文件已存在!" ); return false; } if ( destFileName.endsWith( File.separator ) ) { LogUtil.e( TAG, "创建单个文件" + destFileName + "失败,目标文件不能为目录!" ); return false; } // 判断目标文件所在的目录是否存在 if ( !file.getParentFile( ).exists( ) ) { // 如果目标文件所在的目录不存在,则创建父目录 LogUtil.d( TAG, "目标文件所在目录不存在,准备创建它!" ); if ( !file.getParentFile( ).mkdirs( ) ) { LogUtil.e( TAG, "创建目标文件所在目录失败!" ); return false; } } // 创建目标文件 try { if ( file.createNewFile( ) ) { LogUtil.d( TAG, "创建单个文件" + destFileName + "成功!" ); return true; } else { LogUtil.e( TAG, "创建单个文件" + destFileName + "失败!" ); return false; } } catch ( IOException e ) { e.printStackTrace( ); LogUtil.e( TAG, "创建单个文件" + destFileName + "失败!" + e.getMessage( ) ); return false; }}public static void delFile( String filePaht ){ try { if ( Environment.getExternalStorageState( ).equals( Environment.MEDIA_MOUNTED ) ) { File file = new File( filePaht ); if ( file.exists( ) == true ) { file.delete( ); LogUtil.d( TAG, "删除目标文件:" + filePaht ); } else { LogUtil.d( TAG, "删除目标文件不存在:" + filePaht ); } } } catch ( Exception exception ) { exception.printStackTrace( ); }}
- 3、接收广播
PowerBroadcastReceiver.java
package com.xtc.charging.activity;import com.xtc.charging.util.CommonUtil;import com.xtc.charging.util.LogUtil;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.BatteryManager;public class PowerBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive( Context context, Intent intent ) { // TODO Auto-generated method stub // 方式一 /* int chargePlug = intent.getIntExtra( BatteryManager.EXTRA_PLUGGED, -1 ); LogUtil.d( CommonUtil.TAG, "chargePlug =" + chargePlug ); if ( chargePlug == -1 ) { CommonUtil.delFile( CommonUtil.INSTALL_FILE ); } */ // 方式二 String action = intent.getAction( ); LogUtil.d( CommonUtil.TAG, "action =" + action ); if ( action.equals( Intent.ACTION_POWER_DISCONNECTED ) ) { CommonUtil.delFile( CommonUtil.INSTALL_FILE ); } }}
4、打印Log
0 0
- ACTION_POWER_DISCONNECTED广播使用解析
- Android中的广播使用全解析
- 广播使用
- ble广播包解析
- BLE 广播数据解析
- BLE 广播数据解析
- ble广播结构解析
- BLE 广播报文解析
- BLE 广播数据解析
- BLE 广播数据解析
- BLE 广播报文解析
- BLE 广播数据解析
- BroadcastReceiver Android的广播解析
- android广播机制BroadCastReceiver解析
- Broadcast广播的使用
- android 广播的使用
- 广播的使用步骤
- 使用UDP广播
- Codevs 挂缀
- iOS 推送笔记
- Windows平台下安装MongoDB
- 2015暑期实习作品
- uboot ddr配置
- ACTION_POWER_DISCONNECTED广播使用解析
- JAVA学习5_Java NIO 报java.nio.charset.MalformedInputException: Input length = 1异常
- 用指针操作多维数组
- 咕咚登陆 注册 核心算法 上传步数【分析】
- K线战术精要——阻击涨停板
- 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
- VTK6.3.0 vs VTK6.2.0
- ARM指令中STM和LDM
- Android高斯模糊,左右有白边