Skip to content

Commit a61f95d

Browse files
committed
android: permissions for custom datadir
1 parent d46dbc0 commit a61f95d

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/qt/android/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
<uses-sdk android:targetSdkVersion="24"/>
44

55
<uses-permission android:name="android.permission.INTERNET" />
6+
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
67
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
8+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
79
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
810
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
911
<uses-permission android:name="android.permission.WAKE_LOCK" />

src/qt/android/src/org/bitcoincore/qt/BitcoinQtActivity.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@
88
import android.system.Os;
99
import android.view.WindowManager;
1010
import android.view.View;
11+
import android.Manifest;
12+
import android.content.pm.PackageManager;
1113

1214
import org.qtproject.qt5.android.bindings.QtActivity;
1315

1416
import java.io.File;
1517

1618
public class BitcoinQtActivity extends QtActivity
1719
{
20+
private static final int PERMISSIONS_REQUEST_CODE = 123;
21+
1822
@Override
1923
public void onCreate(Bundle savedInstanceState)
2024
{
@@ -36,5 +40,22 @@ public void onCreate(Bundle savedInstanceState)
3640
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
3741
WindowManager.LayoutParams.FLAG_FULLSCREEN);
3842
super.onCreate(savedInstanceState);
43+
44+
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
45+
requestPermissions(new String[] {
46+
Manifest.permission.WRITE_EXTERNAL_STORAGE
47+
}, PERMISSIONS_REQUEST_CODE);
48+
}
49+
}
50+
51+
@Override
52+
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
53+
if (requestCode == PERMISSIONS_REQUEST_CODE) {
54+
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
55+
System.out.println("Permission was granted");
56+
} else {
57+
System.out.println("Permission was denied");
58+
}
59+
}
3960
}
4061
}

0 commit comments

Comments
 (0)