2013-03-16 90 views
1

我试图显示当前的SSID(并最终捕获它,所以我可以在以后使用它)如何显示当前连接的WIFI SSID?

到目前为止,我已经能够编译下面的代码 - 但我无法得到它显示和应用程序力量每次运行时关闭。我知道我忽略了一些简单的东西。任何帮助是极大的赞赏!

  • 阿曼尼斯旺

JAVA

import android.app.Activity; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.net.wifi.WifiManager; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import android.preference.PreferenceActivity; 

public static String getCurrentSsid(Context context) { 
    String ssid = null; 
    ConnectivityManager connManager = (ConnectivityManager)  context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo networkInfo =  connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    if (networkInfo.isConnected()) { 
    final WifiManager wifiManager = (WifiManager)  context.getSystemService(Context.WIFI_SERVICE); 
    final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); 
    if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) { 
     ssid = connectionInfo.getSSID(); 
    } 
    } 
    return ssid; 
} 
} 

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/linkingmanagerbackground2" 
      android:layout_alignParentTop="true"> 


<View 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
    android:onClick="imageClick" > 
</View> 

</RelativeLayout> 

logcat的

03-16 01:34:52.938: E/Trace(2236): error opening trace file: No such file or directory (2) 
03-16 01:34:53.487: D/dalvikvm(2236): GC_FOR_ALLOC freed 42K, 7% free 2466K/2652K, paused 45ms, total 49ms 
03-16 01:34:53.567: I/dalvikvm-heap(2236): Grow heap (frag case) to 6.061MB for 3686416-byte allocation 
03-16 01:34:53.627: D/dalvikvm(2236): GC_FOR_ALLOC freed 2K, 4% free 6064K/6256K, paused 55ms, total 55ms 
03-16 01:34:53.717: D/dalvikvm(2236): GC_CONCURRENT freed <1K, 4% free 6064K/6256K, paused 9ms+16ms, total 95ms 
03-16 01:34:55.048: D/libEGL(2236): loaded /system/lib/egl/libEGL_emulation.so 
03-16 01:34:55.128: D/(2236): HostConnection::get() New Host Connection established 0x2a155228, tid 2236 
03-16 01:34:55.208: D/libEGL(2236): loaded /system/lib/egl/libGLESv1_CM_emulation.so 
03-16 01:34:55.218: D/libEGL(2236): loaded /system/lib/egl/libGLESv2_emulation.so 
03-16 01:34:55.419: W/EGL_emulation(2236): eglSurfaceAttrib not implemented 
03-16 01:34:55.448: D/OpenGLRenderer(2236): Enabling debug mode 0 
03-16 01:34:56.568: D/AndroidRuntime(2236): Shutting down VM 
03-16 01:34:56.568: W/dalvikvm(2236): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 
03-16 01:34:56.638: E/AndroidRuntime(2236): FATAL EXCEPTION: main 
03-16 01:34:56.638: E/AndroidRuntime(2236): java.lang.Error: Unresolved compilation problem: 
03-16 01:34:56.638: E/AndroidRuntime(2236):  Connect cannot be resolved to a type 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at  com.nfc.linked.SplashScreen$1.run(SplashScreen.java:34) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at android.os.Handler.handleCallback(Handler.java:725) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at android.os.Handler.dispatchMessage(Handler.java:92) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at android.os.Looper.loop(Looper.java:137) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at java.lang.reflect.Method.invokeNative(Native Method)  
03-16 01:34:56.638: E/AndroidRuntime(2236):  at java.lang.reflect.Method.invoke(Method.java:511) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
03-16 01:34:56.638: E/AndroidRuntime(2236):  at dalvik.system.NativeStart.main(Native Method) 
+1

如果我的回答对您的[上一页问题帮助](http://stackoverflow.com/questions/15399822/how-to-startactivity-from-options-menu),你应该勾选挖空的复选标记并接受它。 – 2013-03-16 03:17:50

+1

@ A-C在最后一个问题上得到了我的赞赏:D – stinepike 2013-03-16 04:19:48

+1

我刚刚做了......谢谢你们! – user2161499 2013-03-16 16:51:10

回答

2

您的问题似乎与Wi-Fi SSID无关。您可能有在此之前,这两个问题之一:

+0

我还不知道该怎么做。 (道歉,如果我是一个有点小白) – user2161499 2013-03-16 02:04:12

+0

当前的logcat: https://docs.google.com/document/d/1LMie5xogAJZR_eLw8D5_GGdH2Vs55xwdrqSHKgjDD38/edit?usp=sharing – user2161499 2013-03-16 02:54:28

+0

你的问题似乎是在前面的代码。有一个例外:'com.nfc.linked.SplashScreen $ 1.run(SplashScreen.java:34)'。发布更多的代码,最好是更小的应用程序版本,只需使用Wi-Fi部分即可。见http://www.sscce.org/。 – chr 2013-03-16 11:22:20

3

使用下面的权限在您的应用程序清单

< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
< uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
+0

请接受,如果你认为答案是有帮助的 – stinepike 2013-03-20 02:28:54