2013-04-04 83 views
0

我想捕獲當前連接的SSID - 在一個TextView顯示出來 - 如何才能做到這一點?顯示當前連接的SSID Android中

從我可以聚集我需要使用以下命令:

public void run() { 
     WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
     WifiInfo info = wifi.getConnectionInfo(); 
     String nameEt = info.getSSID(); 
    } 

但是,當我試圖實現它 - 我似乎無法將其顯示在屏幕上。

JAVA:

import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.Context; 
import android.net.wifi.WifiInfo; 
import android.net.wifi.WifiManager; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.view.ViewGroup; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.FrameLayout; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import java.text.DecimalFormat; 

public class AddEditDevice extends Activity { 

    private long rowID; 
    private EditText nameEt; 
    private EditText capEt; 
    private EditText codeEt; 
    private TimePicker timeEt; 
    private TextView ssid; 

    // DecimalFormat df = new DecimalFormat ("00"); 
    // public String minutes = df.format(min); 
    // @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.add_country); 
     nameEt = (EditText) findViewById(R.id.nameEdit); 
     capEt = (EditText) findViewById(R.id.capEdit); 
     codeEt = (EditText) findViewById(R.id.codeEdit); 
     timeEt = (TimePicker) findViewById(R.id.timeEdit); 
     Bundle extras = getIntent().getExtras(); 
     if (extras != null) { 
      rowID = extras.getLong("row_id"); 
      nameEt.setText(extras.getString("name")); 
      capEt.setText(extras.getString("cap")); 
      codeEt.setText(extras.getString("code")); 
      String time = extras.getString("time"); 
      String[] parts = time.split(":"); 
      timeEt.setCurrentHour(Integer.valueOf(parts[0])); 
      timeEt.setCurrentMinute(Integer.valueOf(parts[1])); 
      timeEt.setIs24HourView(false); 
     } 
     Button saveButton = (Button) findViewById(R.id.saveBtn); 
     saveButton.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       if (nameEt.getText().length() != 0) { 
        AsyncTask<Object, Object, Object> saveContactTask = 
          new AsyncTask<Object, Object, Object>() { 

         @Override 
         protected Object doInBackground(Object... params) { 
          saveContact(); 
          return null; 
         } 

         @Override 
         protected void onPostExecute(Object result) { 
          finish(); 
         } 
        }; 
        saveContactTask.execute((Object[]) null); 
       } else { 
        AlertDialog.Builder alert = new AlertDialog.Builder(
         AddEditDevice.this); 
        alert.setTitle(R.string.errorTitle); 
        alert.setMessage(R.string.errorMessage); 
        alert.setPositiveButton(R.string.errorButton, null); 
        alert.show(); 
       } 
      } 
     }); 
    } 

    public void run() { 
     WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
     WifiInfo info = wifi.getConnectionInfo(); 
     String ssid = info.getSSID(); 
     TextView ssidTextView = (TextView) findViewById(R.id.wifiSSID); 
     ssidTextView.setText(ssid); 
    } 

    private void saveContact() { 
     DatabaseConnector dbConnector = new DatabaseConnector(this); 
     if (getIntent().getExtras() == null) { 
      dbConnector.insertContact(nameEt.getText().toString(), capEt 
       .getText().toString(), timeEt.getCurrentHour().toString() + ":" 
       + timeEt.getCurrentMinute().toString(), codeEt.getText() 
       .toString()); 
     } else { 
      dbConnector.updateContact(rowID, nameEt.getText().toString(), capEt 
       .getText().toString(), timeEt.getCurrentHour().toString() + ":" 
       + timeEt.getCurrentMinute().toString(), codeEt.getText() 
       .toString()); 
     } 
    } 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" > 

    <LinearLayout 
     android:id="@+id/linearLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:padding="5dp" > 

     <EditText 
      android:id="@+id/nameEdit" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:hint="@string/name_hint" 
      android:imeOptions="actionNext" 
      android:inputType="textPersonName|textCapWords" /> 

     <TextView 
      android:id="@+id/wifiSSID" 
      style="@style/StyleText" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

     <EditText 
      android:id="@+id/capEdit" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:hint="@string/cap_hint" 
      android:imeOptions="actionNext" 
      android:inputType="textPersonName|textCapWords" > 

      <requestFocus /> 
     </EditText> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Data Limit" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#ffffff" /> 

     <SeekBar 
      android:id="@+id/seekBar1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="left" 
       android:text="Unlimited Data" 
       android:textColor="#ffffff" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="right" 
       android:text="10MB" 
       android:textColor="#ffffff" /> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Bandwidth Limit" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#ffffff" /> 

     <SeekBar 
      android:id="@+id/seekBar1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="left" 
       android:text="Unlimited Bandwidth" 
       android:textColor="#ffffff" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="right" 
       android:text="10kbs" 
       android:textColor="#ffffff" /> 
     </LinearLayout> 

     <EditText 
      android:id="@+id/codeEdit" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1.0" 
      android:ems="10" 
      android:gravity="center" 
      android:hint="@string/code_hint" 
      android:imeOptions="actionNext" 
      android:inputType="textUri" 
      android:lines="1" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="Parental Controls" 
       android:textColor="#ffffff" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="Block Streaming" 
       android:textColor="#ffffff" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" > 

      <ToggleButton 
       android:id="@+id/ToggleButton03" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="ToggleButton" /> 

      <ToggleButton 
       android:id="@+id/ToggleButton03" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="ToggleButton" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="Block File Type/Size" 
       android:textColor="#ffffff" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="Banned Music/Video" 
       android:textColor="#ffffff" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" > 

      <ToggleButton 
       android:id="@+id/ToggleButton02" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="ToggleButton" /> 

      <ToggleButton 
       android:id="@+id/ToggleButton02" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.0" 
       android:gravity="center" 
       android:text="ToggleButton" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:orientation="horizontal" > 
     </LinearLayout> 

     <TextView 
      android:id="@+id/TextView02" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:textAppearanceSmall" /> 

     <TextView 
      android:id="@+id/TextView02" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="8dp" 
      android:layout_weight="1.0" 
      android:text="WiFi Time Limit" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#ffffff" /> 

     <TimePicker 
      android:id="@+id/timeEdit" 
      android:layout_width="286dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:layout_weight="1.0" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="left" 
      android:orientation="horizontal" > 
     </LinearLayout> 

     <Button 
      android:id="@+id/saveBtn" 
      android:layout_width="199dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="15dp" 
      android:text="@string/save_btn" /> 
    </LinearLayout> 

</ScrollView> 

回答

0

你是不是調用從任何地方的run(),並且該方法是不是要更新一個TextView。嘗試在你的運行方法中做到這一點。

TextView ssidTextView = (TextView) findViewById(R.id.<your_textview_id>); 
ssidTextView.setText(nameEt); 

然後當你想更新TextView中的ssid時,確保你調用了run()。

+0

我更新了根據你的方法的源代碼 - 但我得到一個錯誤,指出:在TextView類型中的方法setText(CharSequence)不適用於參數(EditText) – 2013-04-04 21:33:28

+0

您是否在傳遞EditText?那個是從哪裏來的?你需要傳遞一個String。不管你從info.getSSID()得到什麼,都應該傳遞給setText()。 – 2013-04-04 21:52:13

+0

萬一你沒有注意到這一點,你正在使用nameEt作爲兩種不同類型這裏變量名。在run()方法中,您使用它來保存ssid字符串,並在其他地方保存EditText。這顯然很糟糕,令人困惑。注意,這個答案要求你將兩行放入你的run()方法中。 – 2013-04-04 22:01:04