diff --git a/samples/WiFiDirectDemo/AndroidManifest.xml b/samples/WiFiDirectDemo/AndroidManifest.xml
index 44985e89b..759c4cc38 100644
--- a/samples/WiFiDirectDemo/AndroidManifest.xml
+++ b/samples/WiFiDirectDemo/AndroidManifest.xml
@@ -11,7 +11,7 @@
-
+
diff --git a/samples/WiFiDirectDemo/src/com/example/android/wifidirect/WiFiDirectActivity.java b/samples/WiFiDirectDemo/src/com/example/android/wifidirect/WiFiDirectActivity.java
index aaec70828..01ab7d73c 100644
--- a/samples/WiFiDirectDemo/src/com/example/android/wifidirect/WiFiDirectActivity.java
+++ b/samples/WiFiDirectDemo/src/com/example/android/wifidirect/WiFiDirectActivity.java
@@ -52,7 +52,7 @@ public class WiFiDirectActivity extends Activity implements ChannelListener, Dev
public static final String TAG = "wifidirectdemo";
- private static final int PERMISSIONS_REQUEST_CODE_ACCESS_COARSE_LOCATION = 1001;
+ private static final int PERMISSIONS_REQUEST_CODE_ACCESS_FINE_LOCATION = 1001;
private WifiP2pManager manager;
private boolean isWifiP2pEnabled = false;
@@ -73,9 +73,9 @@ public class WiFiDirectActivity extends Activity implements ChannelListener, Dev
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
switch (requestCode) {
- case PERMISSIONS_REQUEST_CODE_ACCESS_COARSE_LOCATION:
+ case PERMISSIONS_REQUEST_CODE_ACCESS_FINE_LOCATION:
if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
- Log.e(TAG, "Coarse location permission is not granted!");
+ Log.e(TAG, "Fine location permission is not granted!");
finish();
}
break;
@@ -98,10 +98,10 @@ public class WiFiDirectActivity extends Activity implements ChannelListener, Dev
channel = manager.initialize(this, getMainLooper(), null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
- && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
+ && checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
- requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
- WiFiDirectActivity.PERMISSIONS_REQUEST_CODE_ACCESS_COARSE_LOCATION);
+ requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
+ WiFiDirectActivity.PERMISSIONS_REQUEST_CODE_ACCESS_FINE_LOCATION);
// After this point you wait for callback in
// onRequestPermissionsResult(int, String[], int[]) overridden method
}
diff --git a/samples/WiFiDirectServiceDiscovery/AndroidManifest.xml b/samples/WiFiDirectServiceDiscovery/AndroidManifest.xml
index 17e4fd555..672f5cf4d 100644
--- a/samples/WiFiDirectServiceDiscovery/AndroidManifest.xml
+++ b/samples/WiFiDirectServiceDiscovery/AndroidManifest.xml
@@ -4,7 +4,8 @@
android:versionCode="1"
android:versionName="1.0" >
-
+
+
@@ -12,10 +13,11 @@
+
-
+
@@ -30,4 +32,4 @@
-
\ No newline at end of file
+
diff --git a/samples/WiFiDirectServiceDiscovery/src/com/example/android/wifidirect/discovery/WiFiServiceDiscoveryActivity.java b/samples/WiFiDirectServiceDiscovery/src/com/example/android/wifidirect/discovery/WiFiServiceDiscoveryActivity.java
index 20e85cb6e..5a53163e6 100644
--- a/samples/WiFiDirectServiceDiscovery/src/com/example/android/wifidirect/discovery/WiFiServiceDiscoveryActivity.java
+++ b/samples/WiFiDirectServiceDiscovery/src/com/example/android/wifidirect/discovery/WiFiServiceDiscoveryActivity.java
@@ -1,11 +1,13 @@
package com.example.android.wifidirect.discovery;
+import android.Manifest;
import android.app.Activity;
import android.app.Fragment;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.IntentFilter;
+import android.content.pm.PackageManager;
import android.net.wifi.WpsInfo;
import android.net.wifi.p2p.WifiP2pConfig;
import android.net.wifi.p2p.WifiP2pDevice;
@@ -18,6 +20,7 @@ import android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener;
import android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener;
import android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo;
import android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -57,6 +60,9 @@ public class WiFiServiceDiscoveryActivity extends Activity implements
public static final int MESSAGE_READ = 0x400 + 1;
public static final int MY_HANDLE = 0x400 + 2;
+
+ private static final int PERMISSIONS_REQUEST_CODE = 1001;
+
private WifiP2pManager manager;
static final int SERVER_PORT = 4545;
@@ -80,6 +86,21 @@ public class WiFiServiceDiscoveryActivity extends Activity implements
this.handler = handler;
}
+ @Override
+ public void onRequestPermissionsResult(int requestCode, String[] permissions,
+ int[] grantResults) {
+ switch (requestCode) {
+ case PERMISSIONS_REQUEST_CODE:
+ if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+ Log.e(TAG, "Fine location permission is not granted!");
+ finish();
+ } else {
+ startRegistrationAndDiscovery();
+ }
+ break;
+ }
+ }
+
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -96,12 +117,22 @@ public class WiFiServiceDiscoveryActivity extends Activity implements
manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
channel = manager.initialize(this, getMainLooper(), null);
- startRegistrationAndDiscovery();
servicesList = new WiFiDirectServicesList();
getFragmentManager().beginTransaction()
.add(R.id.container_root, servicesList, "services").commit();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
+ && checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED) {
+ requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
+ PERMISSIONS_REQUEST_CODE);
+ // After this point you wait for callback in
+ // onRequestPermissionsResult(int, String[], int[]) overridden method
+ } else {
+ startRegistrationAndDiscovery();
+ }
+
}
@Override