diff --git a/README.md b/README.md
index 16cfc18..c3c79fb 100644
--- a/README.md
+++ b/README.md
@@ -29,8 +29,9 @@ Add these to AndroidManifest.xml
-
+
+
```
Since ACCESS_FINE_LOCATION and READ_EXTERNAL_STORAGE is considered to be dangerous system permissions, in addition to adding them to your manifest, you must request these permissions at runtime.
diff --git a/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java b/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java
index ac830d4..b473614 100644
--- a/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java
+++ b/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java
@@ -62,21 +62,36 @@ public class NearbyConnectionsPlugin implements MethodCallHandler {
public void onMethodCall(MethodCall call, final Result result) {
switch (call.method) {
- case "checkPermissions":
+ case "checkLocationPermission":
if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION)
- != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
- != PackageManager.PERMISSION_GRANTED) {
- result.success(false);
- } else {
+ == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
+ == PackageManager.PERMISSION_GRANTED) {
result.success(true);
+ } else {
+ result.success(false);
}
break;
- case "askPermissions":
+ case "askLocationPermission":
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
0);
result.success(null);
break;
+ case "checkExternalStoragePermission":
+ if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE)
+ == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
+ == PackageManager.PERMISSION_GRANTED) {
+ result.success(true);
+ } else {
+ result.success(false);
+ }
+ break;
+ case "askExternalStoragePermission":
+ ActivityCompat.requestPermissions(activity,
+ new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},
+ 0);
+ result.success(null);
+ break;
case "stopAdvertising":
Log.d("nearby_connections", "stopAdvertising");
Nearby.getConnectionsClient(activity).stopAdvertising();
@@ -358,7 +373,7 @@ public class NearbyConnectionsPlugin implements MethodCallHandler {
assert bytes != null;
args.put("bytes", bytes);
}
- else if (payload.getType() == Payload.Type.BYTES) {
+ else if (payload.getType() == Payload.Type.FILE) {
args.put("filePath", payload.asFile().asJavaFile().getAbsolutePath());
}
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index da157b9..d175df9 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -7,6 +7,9 @@
+
+
+