2

私は次のコードを持っています:

Uri screenshotUri = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
        intent.putExtra(Intent.EXTRA_SUBJECT, "Location of " + name);
        intent.putExtra(Intent.EXTRA_TITLE, getText(R.string.screen_share_message));
        intent.putExtra(Intent.EXTRA_TEXT, getText(R.string.screen_share_message));
        intent.setType("image/*");
        startActivity(Intent.createChooser(intent, "Share with"));

ユーザーがファイルを送信または共有した後、ファイルを削除するには?

4

5 に答える 5

1

あなたの質問がファイルをいつ削除するかをどうやって知るかということなら、答えはあなたが知ることができないということです。

私が使用する方法は、ファイルをアプリケーションのキャッシュディレクトリ(内部または外部)に保持することです。そのため、デバイスのストレージが不足すると、Androidによって自動的に削除されます。ただし、良い習慣として、新しいファイルを共有する前に、まずキャッシュ内の既存のファイルをすべて削除します。

実際にファイルを削除するには、@Sahilの回答を参照してください

于 2012-12-31T08:41:15.373 に答える
1

最初に@DheerajVSの回答を参照してください。

ファイルを削除する方法

  1. これらのファイルは、バックグラウンドで実行されるサービスを使用して削除できます。サービスは、フォルダーにファイルが含まれているかどうかを確認してから、ファイルを削除するようにサービス内のロジックを書き込みます。

  2. アプリケーションの起動時にこれらのファイルを削除できます。特定のフォルダにファイルが存在するかどうかを意味するため、ウェルカムアクティビティを開始するときに、ファイルを削除するロジックを配置できます。

//隠しファイルを削除するには

try {
      new Helper().deleteFromExternalStorage(".photo.jpg");
}
catch(Exception e){
      Log.v("APP","Exception while deleting file");
}

外部ストレージからファイルを削除する方法

public void deleteFromExternalStorage(String fileName) {
  String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/directoryname";
  try
  {
    File file = new File(fullPath, fileName);
    if(file.exists())
        file.delete();
  }
  catch (Exception e)
  {
    Log.e("APP", "Exception while deleting file " + e.getMessage());
  }
}
于 2012-12-31T08:49:27.793 に答える
0

次のコードを使用して、インテントの後、外部ストレージからファイルを削除できます。

File file = new File(selectedFilePath);
boolean deleted = file.delete();

selectedFilePath は、削除するファイルのパスです。たとえば、次のようになります。

/sdcard/YourCustomDirectory/ExampleFile.mp3

于 2012-12-31T08:35:15.137 に答える