From e1b822aa131ea3775682644dc987e988b252036a Mon Sep 17 00:00:00 2001 From: nutzma75019 Date: Tue, 20 Jun 2023 09:59:15 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84nderungen=20im=20Manifest=20und=20in=20de?= =?UTF-8?q?r=20MainActivity.java:=20Erg=C3=A4nzung=20zweier=20Internet-Per?= =?UTF-8?q?missions=20inklusive=20Abfrage=20dieser,=20wenn=20der=20Button?= =?UTF-8?q?=20"connectionButton"=20bet=C3=A4tigt=20wird.=20Allerdings:=20I?= =?UTF-8?q?nternet=20Permission=20wird=20automatisch=20erteilt,=20Abfrage?= =?UTF-8?q?=20ist=20eigentlich=20sinnlos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 ++ .../com/example/greenwatch/MainActivity.java | 34 ++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e348435..a996da9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,9 @@ + + + diff --git a/app/src/main/java/com/example/greenwatch/MainActivity.java b/app/src/main/java/com/example/greenwatch/MainActivity.java index 683f40c..38ee03e 100644 --- a/app/src/main/java/com/example/greenwatch/MainActivity.java +++ b/app/src/main/java/com/example/greenwatch/MainActivity.java @@ -1,16 +1,23 @@ package com.example.greenwatch; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; +import android.Manifest; import com.example.greenwatch.adapters.AlarmHistoryListAdapter; import com.example.greenwatch.adapters.DeviceListAdapter; @@ -29,6 +36,8 @@ public class MainActivity extends AppCompatActivity { private Button connectionButton; private MainActivityViewModel mMainActivityViewModel; + private static final int REQUEST_PERMISSION_INTERNET = 123; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -127,7 +136,14 @@ public class MainActivity extends AppCompatActivity { connectionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - openConnectionActivity(); + if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_WIFI_STATE) != PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CHANGE_WIFI_MULTICAST_STATE) != PackageManager.PERMISSION_GRANTED) { + + ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.INTERNET, Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.CHANGE_WIFI_MULTICAST_STATE}, REQUEST_PERMISSION_INTERNET); + } else { + openConnectionActivity(); + } } }); } @@ -157,4 +173,20 @@ public class MainActivity extends AppCompatActivity { mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", true, "Audio", 10); } + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == REQUEST_PERMISSION_INTERNET) { + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // Berechtigungen wurden gewährt + Toast.makeText(this, "Berechtigungen gewährt", Toast.LENGTH_SHORT).show(); + openConnectionActivity(); + } else { + // Berechtigungen wurden nicht gewährt + Toast.makeText(this, "Berechtigungen nicht gewährt", Toast.LENGTH_SHORT).show(); + } + } + } + + } \ No newline at end of file