A
Andy12345678
Ambitioniertes Mitglied
- 1
- Themenstarter
- #61
@jogimuc
Ja da hast du recht
Ja da hast du recht
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: this_feature_currently_requires_accessing_site_using_safari
Ich habe USB Treiber installiert, neu gestartet und adb neu gestartet ohne Erfolg. Der Android Geräte Monitor zeigt mein Gerät als unbekannt an.
Habe auch Visual Studio mehrmals neu geöffnet. Ich weiß leider nicht woran das liegt. Habe zum testen ein mobiles Projekt genommen was dort schon drin ist, Xamarin Projekt
Prozessor:AMD® E-Serie APU E1-1200 Prozessor 2x 1.40 GHz
AMD Dual-Core, 4GB, 500GB
package radefffactory.com;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.Manifest;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Magnifier;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Speichergenehmigung anfordern
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1000);
} else {
// im Moment nichts tun
}
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
Bitmap bitmap = getScreenShot(rootView);
store(bitmap, "ScreenShot.png");
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 1000) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Permission granted!", Toast.LENGTH_SHORT).show();
// im Moment nichts tun
} else {
// Wenn die Erlaubnis nicht erteilt wird, beenden Sie die App
Toast.makeText(this, "Permission not granted!", Toast.LENGTH_SHORT).show();
finish();
}
}
}
// Holen Sie sich einen Screenshot der App
public static Bitmap getScreenShot(View view) {
View screenView = view.getRootView();
screenView.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
screenView.setDrawingCacheEnabled(false);
return bitmap;
}
// Speichern Sie das Bild auf dem Gerät
TextView textview;
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss", Locale.getDefault());
String currentDateandTime = sdf.format(new Date());
public void store (Bitmap bm, String fileName){
String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download";
File dir = new File(dirPath);
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File(dirPath, currentDateandTime + ".png");
try {
FileOutputStream fos = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
Toast.makeText(this, "Gespeichert!", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "Fehlgeschlagen!", Toast.LENGTH_SHORT).show();
}
}
}
Die ganze Klasse ist die Mainactivity.Ich habe schon versucht diese Berechtigungen, die auf dem Button laufen ganz oben auf MainActivy
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Speichergenehmigung anfordern
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1000);
} else {
init();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 1000) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Permission granted!", Toast.LENGTH_SHORT).show();
init();
// im Moment nichts tun
} else {
// Wenn die Erlaubnis nicht erteilt wird, beenden Sie die App
Toast.makeText(this, "Permission not granted!", Toast.LENGTH_SHORT).show();
finish();
}
}
}
void init(){
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
Bitmap bitmap = getScreenShot(rootView);
store(bitmap, "ScreenShot.png");
}
});
MyTimerTask myTask = new MyTimerTask();
Timer myTimer = new Timer();
myTimer.schedule(myTask, 1000, 1000*60*5);
}
// Holen Sie sich einen Screenshot der App
public static Bitmap getScreenShot(View view) {
View screenView = view.getRootView();
screenView.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
screenView.setDrawingCacheEnabled(false);
return bitmap;
}
// Speichern Sie das Bild auf dem Gerät
TextView textview;
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss", Locale.getDefault());
String currentDateandTime = sdf.format(new Date());
public void store (Bitmap bm, String fileName){
String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download";
File dir = new File(dirPath);
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File(dirPath, currentDateandTime + ".png");
try {
FileOutputStream fos = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
//Toast.makeText(this, "Gespeichert!", Toast.LENGTH_SHORT).show();
// in Komentar das keine ausgabe auf UI Thrrad im Thread
} catch (Exception e) {
e.printStackTrace();
//Toast.makeText(this, "Fehlgeschlagen!", Toast.LENGTH_SHORT).show();
// in Komentar das keine ausgabe auf UI Thrrad im Thread
}
}
class MyTimerTask extends TimerTask {
@Override
public void run() {
View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
Bitmap bitmap = getScreenShot(rootView);
store(bitmap, "ScreenShot.png");
}
}
}