2017-01-11 8 views
0

Я написал приложение для Android, чтобы получить значения wifi rssi без подключения к Wi-Fi-сетям.Получение Wii RSSI Значения непрерывно Приложение Android Не запускается

здесь код

package com.affno.wifirssichecker; 

import android.content.Context; 
import android.net.wifi.ScanResult; 
import android.net.wifi.WifiManager; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.TextView; 

import static com.affno.wifirssichecker.R.id.RSSI; 

public class MainActivity extends AppCompatActivity { 

TextView rssiView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    rssiView = (TextView)findViewById(RSSI); 

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    ScanResult result0 = (ScanResult) wifi.getScanResults(); 
    String ssid = result0.SSID; 
    int rssi = result0.level; 
    String rssiString0 = String.valueOf(rssi); 
    rssiView.setText("\n" + ssid + " " + rssiString0); 
} 
} 

Но когда я разворачивал это приложение в моем устройстве Android приложение не запустится. просто всплыл, а затем исчез. Я не могу понять, в чем проблема. Может кто-нибудь мне помочь.

Но я заметил, что в этом районе есть несколько сетей Wi-Fi, в которых я тестировал это приложение. Из-за этого возникает проблема?

Что я хочу - это проверить значения RSSI каждой сети Wi-Fi с помощью SSID или MAC. Постоянно вокруг моей области.

И я хочу знать, есть ли в любом случае, что я могу это сделать?

+0

любая трассировка стека? журнал ошибок? –

+0

ошибки не запускаются и не сворачиваются без каких-либо действий. возможно, проблема заключается в разрешениях scanresult. Я не знаю точно, все еще пытаясь выяснить, –

+0

на каком устройстве, в какой версии Android вы это делаете? –

ответ

0

Не удалось найти точное решение. Но я выясняю, в чем проблема. Я использовал устройство Android, которое работает на Android версии 6.0. Так, как и в случае с Android 6.0, поведение пользователя изменилось на время выполнения.

Так что в этом случае мне нужно разрешение на сканирование сетей Wi-Fi. Поэтому мне нужно проверить, предоставлено ли ранее разрешение. Если да, мы можем запустить приложение, если приложение не будет аварийно завершено. Но не удалось найти подходящий способ решить эту проблему.