android - 如何显示当前连接的WIFI SSID?

标签 android eclipse android-wifi connectivity wifimanager

我正在尝试显示当前的 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>

洛格卡特

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)

最佳答案

在您的应用程序 list 中使用以下权限

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

关于android - 如何显示当前连接的WIFI SSID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15444647/

相关文章:

java - 在 Java/Eclipse 中构建时复制数据文件

android - 如何检查我是否连接到某个 wifi 网络?

android - 如何在 android 中使用 ssid 和密码创建自定义 WPA 热点?

android - 以编程方式打开 Google 云端硬盘中的文件,而不使用 Drive API

android - React-native/AWS API Gateway 安卓问题

Java import com.google.common.io.Files 无法解析

android - 获取连接网络的 WiFi 信号强度

java - 从 Java 调用 Kotlin(找不到符号)

java - 在 Eclipse 中生成项目时出错

eclipse - 从SpringSource Tool Suite(STS)运行集中的Groovy单元测试