मैं वाईफ़ाई अंक की जांच करने के लिए एक ऐप विकसित कर रहा हूं।एंड्रॉइड वाईफाईमेनगर getScanResult शिकायतें ACCESS_COARSE_LOCATION या ACCESS_FINE_LOCATION अनुमति की आवश्यकता है हालांकि घोषित अनुमति
मुझे त्रुटि मिल रही है "java.lang.SecurityException: wifiManager.getScanResults() पर स्कैन परिणामों को प्राप्त करने के लिए ACCESS_COARSE_LOCATION या ACCESS_FINE_LOCATION अनुमति की आवश्यकता है, भले ही मैंने पहले ही उन अनुमतियों को घोषित किया हो।
मुख्य गतिविधि
public class MainActivity extends AppCompatActivity {
WifiManager wifiManager;
String[] wifis;
WifiReceiver wifiReceiver;
ListView wifiListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wifiListView = (ListView) findViewById(R.id.wifi_list);
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiReceiver = new WifiReceiver();
wifiManager.startScan();
}
protected void onPause() {
unregisterReceiver(wifiReceiver);
super.onPause();
}
protected void onResume() {
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
private class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
List<ScanResult> wifiScanList = wifiManager.getScanResults();
wifis = new String[wifiScanList.size()];
for (int i = 0; i < wifiScanList.size(); i++) {
wifis[i] = wifiScanList.get(i).toString();
}
wifiListView.setAdapter(new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, wifis));
}
}
प्रकट
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sample">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
मैं कर रहा हूँ एसडीके 6.0
पर मैं इसी तरह की question मनाया, लेकिन समाधान लागू नहीं होता है के बाद से मैं पहले से ही अनुमति की घोषणा की।
कोई भी जानता है कि समस्या क्या हो सकती है? धन्यवाद।
अपना आईडीई पुनरारंभ करने का प्रयास करें। –
साफ करने और – sean
बनाने का प्रयास करें आईडीई को पुनरारंभ करने का प्रयास करें, ऐप अनइंस्टॉल करें, क्लीन प्रोजेक्ट बनाएं, अभी भी एक ही त्रुटि – kevin0228ca