WifiManeger#scanResults()在Android 6.0中总是返回空值
是的,我确实看了所有其他类似的问题,但它们不适合我。我正试图扫描我附近的所有接入点。这段代码适用于Android 10,但在Android 6.0中,特别是在Galaxy J5中,getScanResult()总是返回空代码:WifiManeger#scanResults()在Android 6.0中总是返回空值,android,android-wifi,wifimanager,Android,Android Wifi,Wifimanager,是的,我确实看了所有其他类似的问题,但它们不适合我。我正试图扫描我附近的所有接入点。这段代码适用于Android 10,但在Android 6.0中,特别是在Galaxy J5中,getScanResult()总是返回空代码: @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_alunos);
setTitle(TITULO_APPBAR);
listaAlunosView = new ListaAlunosView(this);
configuraFabNovoAluno();
configuraLista();
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
//Check for permissions
if ((ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED)
|| (ContextCompat.checkSelfPermission(this, Manifest.permission.CHANGE_WIFI_STATE)
!= PackageManager.PERMISSION_GRANTED))
{
Log.i("TAG", "Requesting permissions");
//Request permission
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_WIFI_STATE,
Manifest.permission.CHANGE_WIFI_STATE,
Manifest.permission.ACCESS_NETWORK_STATE},
123);
}
else
Log.i("TAG", "Permissions already granted");
wifiScan();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
Log.i("TAG,", "onRequestPermissionsResult");
switch (requestCode)
{
case 123:
{
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
// permission was granted
Log.i("TAG", "permission granted: " + permissions[0]);
}
else
{
// permission denied, boo! Disable the
// functionality that depends on this permission.
Log.i("TAG", "permission denied: " + permissions[0]);
}
return;
}
// other 'case' lines to check for other
// permissions this app might request.
}
}
private void wifiScan() {
wifiManager.startScan();
BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean success = intent.getBooleanExtra(WifiManager.EXTRA_RESULTS_UPDATED, false);
if(success) {
List<ScanResult> scanResults = wifiManager.getScanResults();
Log.i("SCAN RESULT:", "" + scanResults);
} else {
}
}
};
@覆盖
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u lista\u alunos);
setTitle(TITULO_APPBAR);
listaAlunosView=新的listaAlunosView(此);
新阿鲁诺();
配置列表a();
wifiManager=(wifiManager)getApplicationContext().getSystemService(Context.WIFI_服务);
//检查权限
if((ContextCompat.checkSelfPermission(这个,Manifest.permission.ACCESS\u位置)
!=PackageManager.权限(已授予)
||(ContextCompat.checkSelfPermission(这个,Manifest.permission.CHANGE\u WIFI\u状态)
!=PackageManager.许可(已授予)
{
Log.i(“标记”、“请求权限”);
//请求许可
ActivityCompat.requestPermissions(此,
新字符串[]{Manifest.permission.ACCESS\u\u位置,
Manifest.permission.ACCESS\u FINE\u位置,
Manifest.permission.ACCESS\u WIFI\u状态,
Manifest.permission.CHANGE\u WIFI\u状态,
Manifest.permission.ACCESS\u NETWORK\u STATE},
123);
}
其他的
Log.i(“标记”,“已授予的权限”);
wifiScan();
}
@凌驾
public void onRequestPermissionsResult(int-requestCode,@NonNull-String[]permissions,@NonNull-int[]grantResults){
Log.i(“标记,,“onRequestPermissionsResult”);
开关(请求代码)
{
案例123:
{
//如果取消请求,则结果数组为空。
if(grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION\u已授予)
{
//许可被授予
Log.i(“标记”,“授予的权限:”+权限[0]);
}
其他的
{
//权限被拒绝,嘘!禁用
//依赖于此权限的功能。
Log.i(“标记”,“权限被拒绝:”+权限[0]);
}
返回;
}
//其他“案例”行,用于检查其他
//此应用可能请求的权限。
}
}
私有void wifiScan(){
wifiManager.startScan();
BroadcastReceiver wifiScanReceiver=新的BroadcastReceiver(){
@凌驾
公共void onReceive(上下文、意图){
布尔成功=intent.getBooleanExtra(WifiManager.EXTRA_结果_更新,false);
如果(成功){
List scanResults=wifiManager.getScanResults();
Log.i(“扫描结果:”、“+scanResults”);
}否则{
}
}
};
Android清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="br.com.alura.agenda"
tools:ignore="GoogleAppIndexingWarning">
<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_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="AllowBackup">
<activity android:name=".ui.activity.ListaAlunosActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.activity.FormularioAlunoActivity" />
</application>
</manifest>
我还打开了我的定位服务
有人能告诉我错误在哪里吗