From b2c9e38af0bf6f865424f88b2e0753f15ed7a42a Mon Sep 17 00:00:00 2001 From: strawmanbobi Date: Mon, 22 Jul 2019 22:35:03 +0800 Subject: [PATCH] added permissoin request for android example --- .../ircontrol/ui/activity/MainActivity.java | 54 +++++++++++++++++++ .../ui/fragment/ControlFragment.java | 10 ---- 2 files changed, 54 insertions(+), 10 deletions(-) diff --git a/android-example/app/src/main/java/net/irext/ircontrol/ui/activity/MainActivity.java b/android-example/app/src/main/java/net/irext/ircontrol/ui/activity/MainActivity.java index 4afce57..936c5a4 100644 --- a/android-example/app/src/main/java/net/irext/ircontrol/ui/activity/MainActivity.java +++ b/android-example/app/src/main/java/net/irext/ircontrol/ui/activity/MainActivity.java @@ -1,11 +1,17 @@ package net.irext.ircontrol.ui.activity; +import android.Manifest; import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.support.annotation.RequiresApi; import android.support.design.widget.FloatingActionButton; +import android.support.v4.app.ActivityCompat; import android.support.v4.app.FragmentManager; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.MenuItem; @@ -88,6 +94,46 @@ public class MainActivity extends AppCompatActivity { gotoCreateNew(); } }); + isReadStoragePermissionGranted(); + isWriteStoragePermissionGranted(); + } + + public boolean isReadStoragePermissionGranted() { + if (Build.VERSION.SDK_INT >= 23) { + if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_GRANTED) { + Log.v(TAG,"read permission is granted"); + return true; + } else { + + Log.v(TAG,"read permission is revoked"); + ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 3); + return false; + } + } + else { //permission is automatically granted on sdk<23 upon installation + Log.v(TAG,"read permission is granted"); + return true; + } + } + + public boolean isWriteStoragePermissionGranted() { + if (Build.VERSION.SDK_INT >= 23) { + if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_GRANTED) { + Log.v(TAG,"write permission is granted"); + return true; + } else { + + Log.v(TAG,"write permission is revoked"); + ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2); + return false; + } + } + else { //permission is automatically granted on sdk<23 upon installation + Log.v(TAG,"write permission is granted"); + return true; + } } private void gotoCreateNew() { @@ -127,4 +173,12 @@ public class MainActivity extends AppCompatActivity { } } } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + switch (requestCode) { + + } + } } diff --git a/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java b/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java index 733fffa..d73eca4 100644 --- a/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java +++ b/android-example/app/src/main/java/net/irext/ircontrol/ui/fragment/ControlFragment.java @@ -137,16 +137,6 @@ public class ControlFragment extends Fragment implements View.OnClickListener { /* decode SDK - load binary file */ int ret = mIRDecode.openFile(category, mCurrentRemoteControl.getSubCategory(), binFileName); - File binFile = new File(binFileName); - byte []binaries = new byte[(int)binFile.length()]; - try { - if (null != binFile) { - FileInputStream fin = new FileInputStream(binFile); - fin.read(binaries); - } - } catch (Exception e) { - e.printStackTrace(); - } Log.d(TAG, "binary opened : " + ret); } }