应用程序在尝试显示IP地址时崩溃 - 权限



当我调用下面的方法时,我的应用程序崩溃了。在我的AndroidManifest.xml中,Pplication有权访问WiFi状态。

public void show(View view) throws UnknownHostException {    
    WifiManager wm =
        (WifiManager)getSystemService(Context.WIFI_SERVICE);
    if (!wm.isWifiEnabled()) {
        wm.setWifiEnabled(true);
    }
    int ip = wm.getConnectionInfo().getIpAddress();
    String s = Integer.toString(ip);
    EditText et = (EditText) findViewById(R.id.my_name);
    et.setText("" + ip);
} 

这是错误:

java.lang.IllegalStateException: Could not execute method for android:onClick
    at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
    at android.view.View.performClick(View.java:5207)
    at android.view.View$PerformClick.run(View.java:21177)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5441)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Method.invoke(Native Method)
    at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
    ... 9 more
Caused by: java.lang.SecurityException: WifiService: Neither user 10170 nor current process has android.permission.ACCESS_WIFI_STATE.
    at android.os.Parcel.readException(Parcel.java:1620)
    at android.os.Parcel.readException(Parcel.java:1573)
    at android.net.wifi.IWifiManager$Stub$Proxy.getConnectionInfo(IWifiManager.java:1125)
    at android.net.wifi.WifiManager.getConnectionInfo(WifiManager.java:1315)
    at com.example.shankey.chatoz.MainActivity.show(MainActivity.java:28)
    ... 11 more⁠⁠⁠⁠

请建议一种解决此错误的方法。预先感谢。

您是否在上述版本的Lollipop上测试?您必须在show()方法中的代码中明确要求许可。

或检查此链接可能对您有帮助..

无法收听Android Wi-Fi经理的状态?

最新更新