赞
踩
在做项目的时候,要求拔出USB接口要删除指定文件,达到某功能;就想到利用ACTION_POWER_DISCONNECTED广播。
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>
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( ); } }
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 ); } } }
觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。