如何从 registerReceiver 内部获取变量的值 class

How to get a variable's value from a registerReceiver inner class

您好,我正在为 Android 编写应用程序。我使用 Android Studio 2.1 和 Android 4.0.3。我的应用程序使用 Wi-Fi 数据,我无法从外部 class 获取变量的内容。我正在使用 registerReceiver 并尝试在该寄存器接收器内部 class 中获取一个变量。我为我糟糕的英语感到抱歉。当我调试时,我看到 activityString 为空。请帮忙。我的代码在这里:

public class MyActivity extends Activity {
public String activityString; // Here static or not no difference. This is null

public static WifiManager wifi;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.locationscreen);

    wifiScanResults();

    String[] dataArray = activityString.split("\.");

    // Here I got Null Referance exception. When I debug, activityString is null
}

public void wifiScanResults()
{ 
     wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
     registerReceiver(new BroadcastReceiver() {

        @Override
        public void onReceive(Context c, Intent intent) {

        activityString = "Go";

        }
      }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

    wifi.startScan();
}

这是一个私人内部class。我认为您无法从中获取任何东西。相反,你应该在里面做任何你想做的事情。例如,您可以在其中编写代码。