Screenshot speichern ohne alte Datei überschreiben

Ich möchte über einen Button einen Screenshot meiner Activity machen und diese als PNG in einem automatisch erstellten Ordner abspeichern.
Das funktioniert wunderbar. Das Problem ist, wenn ich erneut auf den Button klicke, überschreibt er den alten Screenshot mit dem neuen Screenshot in dem Ordner, anstatt eine neue Datei abzuspeichern.
Wie bringe ich es zusammen, dass er einfach z.b. den neuen Screenshot als Screenshot(1).png abspeichert, ohne dass er die 1. Datei Screenshot.png einfach überschreibt ?
Java:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
   

        btnScreenshot = (Button) findViewById(R.id.btnScreenshot);                                    /

        String fileName = "Screenshot.png";


   
    btnScreenshot.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
        Bitmap bitmap = getScreenShot(rootView);
        createDirectory();
        store(bitmap, fileName);
        }
    });

    }//Close OnCreate

 



    //Get Screenshot of the Activity
    //
    public static Bitmap getScreenShot(View view) {
        View screenView = view.getRootView();
        screenView.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
        screenView.setDrawingCacheEnabled(false);
        return bitmap;
    }




    //Create Directory for Screenshot
    //
    public void createDirectory() {

        String screenshotdirectory = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Screenshot";
 
        File folderScreenshot = new File(screenshotdirectory);
            if (folderScreenshot.exists()) {
                Toast.makeText(this, "Folder already exist", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "Creating Folder Screenshot", Toast.LENGTH_SHORT).show();
                folderScreenshot.mkdirs();
            }
    }

 
 
    //Store the Screenshot File in Screenshot Directory
    //
    public void store(Bitmap bm, String fileName) {

        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Screenshot;

        File file = new File(dirPath, fileName);
        try {
            FileOutputStream fos = new FileOutputStream(file, true);
            bm.compress(Bitmap.CompressFormat.PNG, 100, fos);
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, "Error!", Toast.LENGTH_SHORT).show();
        }
    }
 

mihe7

Top Contributor
Irgendsowas
Java:
static File getNonExistingFile(String name, String suffix) {
    File base = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Screenshot");
    File file = new File(base, name + suffix);
    for (int no = 1; file.exists(); no++) {
        file = new File(base, String.format("%s(%d)%s", name, no, suffix));
    }
    return file;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Screenshot übergreifend bei erstellen (No-Root) Android & Cross-Platform Mobile Apps 1
A Screenshot während aktiver Kamera Android & Cross-Platform Mobile Apps 0
S Android Screenshot a la Paint-Buffer Android & Cross-Platform Mobile Apps 6
F Pc Screenshot an iPhone senden Android & Cross-Platform Mobile Apps 2
W Foto machen und es direkt per URI speichern und auswählen Android & Cross-Platform Mobile Apps 4
M Firebase RealtimeDatabase - Daten aus Queries in CSV File speichern Android & Cross-Platform Mobile Apps 1
I Android CameraApp, eingebaute App nutzen und Ergebniss als Datei speichern Android & Cross-Platform Mobile Apps 0
R Android Daten speichern und anzeigen Android & Cross-Platform Mobile Apps 7
P Daten bzw Objekte auf das Handy lokal speichern Android & Cross-Platform Mobile Apps 29
P Objekt mit Shared preferences speichern Android & Cross-Platform Mobile Apps 0
J Download und speichern mit jsch klappt nicht Android & Cross-Platform Mobile Apps 5
L Android SQLite Datenbank auf SDCard speichern Android & Cross-Platform Mobile Apps 5
M Android App → Problem mit dem Speichern von einem Bitmap–Objekt. Android & Cross-Platform Mobile Apps 1
V Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android & Cross-Platform Mobile Apps 2
B Dateien Speichern Android & Cross-Platform Mobile Apps 6
G Android Daten in einer Datenbank speichern Android & Cross-Platform Mobile Apps 1
V Bytes (Wertebereich 0-255) über BLE empfangen,lesen und speichern Android & Cross-Platform Mobile Apps 1
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
Anfänger2011 Speichern von bereits gefüllten Dateien Android & Cross-Platform Mobile Apps 8
M Android Speichern einer .txt Datei im InternalStorage Android & Cross-Platform Mobile Apps 2
B Fragen zum Speichern einer Datei auf dem Gerät? Android & Cross-Platform Mobile Apps 7
G Speichern jede zehnte sekunde Android & Cross-Platform Mobile Apps 1
G Sensordaten speichern Android & Cross-Platform Mobile Apps 3
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
A Android Daten in der Cloud speichern (Google) Android & Cross-Platform Mobile Apps 1
Streeber Android ExpandableListView Child-Auswahl speichern Android & Cross-Platform Mobile Apps 3
S Android Geschossenes Foto in anderem Ordner speichern Android & Cross-Platform Mobile Apps 11
G Wissen frage - wo am besten Speichern. Android & Cross-Platform Mobile Apps 1
S Android Speichern von Informationen in Code oder extern Android & Cross-Platform Mobile Apps 0
E Android Zeichnen auf Canvas - Teilbereich als Bild speichern Android & Cross-Platform Mobile Apps 3
L Android Text aus Textfeld speichern Android & Cross-Platform Mobile Apps 5
R Android Objekt in bestimmten Pfad auf Android-gerät speichern Android & Cross-Platform Mobile Apps 8
G Datei im Ordner speichern Android & Cross-Platform Mobile Apps 2
P Android Fragen reihenfolge speichern / laden Android & Cross-Platform Mobile Apps 2
T Bild speichern Servlet Android & Cross-Platform Mobile Apps 2
B Inhalt von StringBuffer in Textdatei speichern? Android & Cross-Platform Mobile Apps 6
U Android Daten dauerhaft speichern? Android & Cross-Platform Mobile Apps 2
P Java ME benutzer daten speichern Android & Cross-Platform Mobile Apps 5
O eingehende Daten speichern Android & Cross-Platform Mobile Apps 2
Naxon89 Duplicate class kotlin - und dies ohne das es angewendet wird Android & Cross-Platform Mobile Apps 1
I Android ListView, Werte aktualisieren ohne die Liste komplett neu zu laden Android & Cross-Platform Mobile Apps 5
T Android ArrayList sortieren mit 2 Werten ohne thencomparing , Wie? Android & Cross-Platform Mobile Apps 10
Jackii Android Android Studio Error im Testlauf ohne zu programmieren Android & Cross-Platform Mobile Apps 9
L Android App ohne MainActivity Android & Cross-Platform Mobile Apps 3
J Android LogIn/Registrierung ohne Mail-Adresse Android & Cross-Platform Mobile Apps 1
B Android USB Debugging ohne kabel möglich? Android & Cross-Platform Mobile Apps 5
G Accelerometer ohne Activity Android & Cross-Platform Mobile Apps 8
M Fehler ohne Sinn? java.lang.RuntimeException: Unable to start activity ComponentInfo Android & Cross-Platform Mobile Apps 11
G Activity-Wechsel bitte ohne Notification Android & Cross-Platform Mobile Apps 6
G Pause ohne sleep und ohne zweiten Thread Android & Cross-Platform Mobile Apps 5
G Pause im Programmablauf ohne extra Thread Android & Cross-Platform Mobile Apps 2
C Activity ohne Aktion starten Android & Cross-Platform Mobile Apps 8
S Entwicklung von Smartphone programmen ohne selber eins zu besitzen Android & Cross-Platform Mobile Apps 17
StrikeTom Android tabs ohne xml Android & Cross-Platform Mobile Apps 6

Ähnliche Java Themen

Neue Themen


Oben