1
내 안드로이드 응용 프로그램에서 이미지 (무선 신호 강도를 나타내는 기본 이미지)를 표시하려고합니다. 나는 아래의 코드로안드로이드의 신호 강도에 따라 다른 무선 신호 강도 이미지로드
public View getView(int position, View convertView, ViewGroup parent) {
\t \t LayoutInflater inflater = (LayoutInflater) MainActivity.this
\t \t \t \t .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
\t \t View view = inflater.inflate(R.layout.wifi_row, parent, false);
\t \t S_ID = (TextView) view.findViewById(R.id.SSID);
\t \t BSSID = (TextView) view.findViewById(R.id.BSSID);
\t \t wifi_strength = (ImageView) view.findViewById(R.id.wifi_signal);
\t \t wifi_lock = (ImageView) view.findViewById(R.id.wifi_lock);
\t \t S_ID.setText(my_array.get(position));
\t \t BSSID.setText(wifiScanList.get(position).BSSID);
\t \t
\t \t
\t \t int current_level = 5;
\t \t int signal_level = WifiManager.calculateSignalLevel(mainWifiObj
\t \t \t \t .getConnectionInfo().getRssi(), current_level);
\t \t int signal_difference = (signal_level * 100)/current_level;
\t \t
\t \t Log.d("Signal_level", String.valueOf(signal_level));
\t \t if (signal_difference >= 100) {
\t \t \t wifi_strength.setImageResource(R.drawable.wifi_signal_4);
\t \t } else if (signal_difference >= 75) {
\t \t \t wifi_strength.setImageResource(R.drawable.wifi_signal_3);
\t \t } else if (signal_difference >= 50) {
\t \t \t wifi_strength.setImageResource(R.drawable.wifi_signal_2);
\t \t } else if (signal_difference >= 25) {
\t \t \t wifi_strength.setImageResource(R.drawable.wifi_signal_1);
\t \t }
내 수신기 클래스
protected void onPause() {
\t unregisterReceiver(wifiReciever);
\t super.onPause();
}
protected void onResume() {
\t registerReceiver(wifiReciever, new IntentFilter(
\t \t \t WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
\t super.onResume();
}
class WifiScanReceiver extends BroadcastReceiver {
\t @SuppressLint("UseValueOf")
\t public void onReceive(Context c, Intent intent) {
\t \t wifiScanList = mainWifiObj.getScanResults();
\t \t for (int i = 0; i < wifiScanList.size(); i++) {
\t \t \t my_array.add((wifiScanList.get(i)).SSID);
\t \t }
\t \t myAdapter.notifyDataSetChanged();
\t }
}
것을 구현하는 시도하지만 항상 심지어 전체 신호 와이파이 이미지를 표시 가장 약한 Wi-Fi 네트워크 용.
어떻게하는지에 대한 아이디어가 있으십니까?