我正在使用qt开发一个Android应用,并在qt中集成了Android代码。使用qt,我在SD卡上创建了一个文件,但在卸载应用时却没有被删除。我试图用以下两种方法来删除该文件 1.methiod
public void deleteExternalStoragePrivateFile() {
File file[] = Environment.getExternalStorageDirectory().listFiles();
for(int i = 0; i< file.length; i++) {
file[i].getAbsolutePath();
Log.d("Listing files: ", file[i].getAbsolutePath());
if (file[i].getAbsolutePath().equalsIgnoreCase("/mnt/sdcard/test.txt")) {
file[i].delete();
并在主活动的OnDestory中调用这个方法,我不知道调用这个方法的正确位置。
在这个方法中,我是这样定义博拉广播接收器的
public class PackageRemoval extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent){
//this.context=context;
Uri data = intent.getData();
Log.d("hi", "Action: " + intent.getAction());
Log.d("hi", "The DATA: " + data);
String action=intent.getAction();
if(Intent.ACTION_PACKAGE_REMOVED.equalsIgnoreCase(action)){
File file[] = Environment.getExternalStorageDirectory().listFiles();
for(int i = 0; i< file.length; i++) {
file[i].getAbsolutePath();
Log.d("Listing files: ", file[i].getAbsolutePath());
if (file[i].getAbsolutePath().equalsIgnoreCase("/mnt/sdcard/test.txt")) {
file[i].delete();
我已经在清单文件中添加了接收器,如下所示
<receiver android:name="com.example.test.PackageRemoval">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
但我似乎什么也没做,也没有得到任何异常或错误......任何想法,我错过了什么......我想最有可能的是我正确地调用了这些方法或广播接收器。