Android终端信息收集

来源:互联网 发布:厦门三巨网络怎么样 编辑:程序博客网 时间:2024/06/05 19:50

package jp.co.sumoretece.android.mobileinfo;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;

public class InfoCollection extends Activity {
 private static StringBuffer buffer;
 TextView infos;
 TextView title;
 List list2;
 List list3;
 List list4;
 protected Menu myMenu;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.showinfo);
  refreshListItems();

 }

 private void refreshListItems() {
  infos = (TextView) findViewById(R.id.info);
  title = (TextView) findViewById(R.id.title);
  title.setText("调查信息");
  TextView blight = (TextView) findViewById(R.id.blight);
  float light = getOldBrightness();
  blight.setText("/n======/nbrightness:" + light);
  String i = getTelephonyManager(this);
  String tel = i;

  String ii = getActivityManager();
  String aam = ii;

  String iii = getCpu();
  String cpu = iii + "/n======/n";
  
  String wifi = getWifiInfo();
  String si = getNetWorkIP();
  String network = si + "/n======/n";
  
  boolean ss = isConnected();

  TextView tv = (TextView) findViewById(R.id.tv);
  tv.setText("/n======/nisConnected():" + ss + "/n");
 
  infos.setText(tel.toString() + aam.toString() + wifi.toString()
    + network.toString() + cpu.toString());
 }

 /**
  * 获取TelephonyManager
  *
  */
 public static String getTelephonyManager(Context cx) {
  String result = null;
  TelephonyManager tm = (TelephonyManager) cx
    .getSystemService(Context.TELEPHONY_SERVICE);
  String str = "/n======/nTelephonyManager/n";
  str += "getDataState() = " + tm.getDataState() + "/n";
  str += "getDeviceId() = " + tm.getDeviceId() + "/n";
  str += "getLine1Number() = " + tm.getLine1Number() + "/n";
  str += "getSimSerialNumber() = " + tm.getSimSerialNumber() + "/n";
  str += "getSubscriberId() = " + tm.getSubscriberId() + "/n";
  str += "isNetworkRoaming() = " + tm.isNetworkRoaming() + "/n";
  result = str.toString();
  return result;
 }

 /**
  * 获取Wifi
  *
  */
 public String getWifiInfo() {
  WifiManager wifiManager = (WifiManager) this
    .getSystemService(Context.WIFI_SERVICE);
  String s1 = "/n======/nWifiState:/nWIFI_STATE_UNKNOWN/n";
  String s21 = "/n======/nWifiState:/nWIFI_STATE_KNOWN/n";
  StringBuilder stringbuilder = new StringBuilder("/nState:");
  if (wifiManager.getWifiState() != 3) {
   String s2 = s1;
   String s3 = stringbuilder.append(s2).toString();
   String s4 = s3;
   return s4;
  } else {
   return s21.toString();
  }

 }

 /**
  * 获取ActivityManager
  *
  */
 public String getActivityManager() {
  String result = null;
  StringBuffer str = new StringBuffer("/n======/nActivityManager/n");
  ActivityManager activityManager = (ActivityManager) this
    .getSystemService(ACTIVITY_SERVICE);
  List list1 = activityManager.getRunningAppProcesses();
  for (int i = 0; i < list1.size(); i++) {
   String b = list1.get(i).toString();
   str.append(b + "/n");
  }

  return str.toString();
 }

 /**
  * 获取当前亮度值
  *
  */
 private float getOldBrightness() {
  float brightness;
  try {
   brightness = Settings.System.getInt(getContentResolver(),
     Settings.System.SCREEN_BRIGHTNESS);
  } catch (SettingNotFoundException snfe) {
   brightness = 255;
  }
  return brightness;
 }

 /**
  * 获取Cpu
  *
  */
 private String getCpu() {
  ProcessBuilder cmd;
  String result = "";
  try {
   String[] args = { "/system/bin/cat", "/proc/cpuinfo" };
   cmd = new ProcessBuilder(args);
   Process process = cmd.start();
   InputStream in = process.getInputStream();
   byte[] re = new byte[1024];
   while (in.read(re) != -1) {
    System.out.println(new String(re));
    result = result + new String(re);
    return result.toString();
   }
   in.close();
  } catch (IOException ex) {
   ex.printStackTrace();
  }
  return result.toString();
 }

 /**
  * 获取NetWorkIP
  *
  */
 public static String getNetWorkIP() {

  String result = "/n======/n";
  CMDExecute cmdexe = new CMDExecute();
  try {
   String[] args = { "/system/bin/netcfg" };
   result = cmdexe.run(args, "/system/bin/");
  } catch (IOException ex) {
   Log.i("fetch_process_info", "ex=" + ex.toString());
  }
  return result;
 }

 /**
  * 获取isConnected()
  *
  */
 public boolean isConnected() {

  ConnectivityManager mConnectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  TelephonyManager mTelephony = (TelephonyManager) this
    .getSystemService(TELEPHONY_SERVICE);
  // 检查网络连接,如果无网络可用,就不需要进行连网操作等
  NetworkInfo info = mConnectivity.getActiveNetworkInfo();
  if (info == null || !mConnectivity.getBackgroundDataSetting()) {
   return false;
  } // 判断网络连接类型,只有在3G或wifi里进行一些数据更新。
  int netType = info.getType();
  int netSubtype = info.getSubtype();
  if (netType == ConnectivityManager.TYPE_WIFI) {
   return info.isConnected();
  } else if (netType == ConnectivityManager.TYPE_MOBILE
    && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
    && !mTelephony.isNetworkRoaming()) {
   return info.isConnected();
  } else {
   return false;
  }
 }

}

原创粉丝点击