package com.jasonchen.microlang.preference; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; import android.provider.Browser; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.jasonchen.microlang.R; import com.jasonchen.microlang.activitys.SettingActivity; import com.jasonchen.microlang.activitys.WriteWeiboActivity; import com.jasonchen.microlang.debug.AppLogger; /** * jasonchen * 2015/04/10 */ public class AboutFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(false); addPreferencesFromResource(R.xml.about_pref); findPreference(SettingActivity.OFFICIAL_WEIBO).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Uri uri = Uri.parse("com.jasonchen.mention://@撕嗒滴兔呆"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); intent.putExtra(Browser.EXTRA_APPLICATION_ID, getActivity().getPackageName()); getActivity().startActivity(intent); getActivity().overridePendingTransition(R.anim.push_left_in, R.anim.stay); return true; } }); findPreference(SettingActivity.THANKS).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Uri uri = Uri.parse("com.jasonchen.mention://@四次元App"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); intent.putExtra(Browser.EXTRA_APPLICATION_ID, getActivity().getPackageName()); getActivity().startActivity(intent); getActivity().overridePendingTransition(R.anim.push_left_in, R.anim.stay); return true; } }); findPreference(SettingActivity.SUGGEST) .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = WriteWeiboActivity.newIntent(getActivity(), buildContent()); startActivity(intent); getActivity().overridePendingTransition(R.anim.push_left_in, R.anim.stay); return true; } }); findPreference(SettingActivity.VERSION).setSummary(buildVersionInfo()); } @Override public void onResume() { super.onResume(); } @Override public void onStop() { super.onStop(); } private String buildVersionInfo() { String version = ""; PackageManager packageManager = getActivity().getPackageManager(); PackageInfo packInfo = null; try { packInfo = packageManager.getPackageInfo(getActivity().getPackageName(), 0); } catch (PackageManager.NameNotFoundException e) { AppLogger.e(e.getMessage()); } version = packInfo.versionName; if (!TextUtils.isEmpty(version)) { return version; } else { return ""; } } private String buildContent() { String network = ""; ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { network = "Wifi"; } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { int subType = networkInfo.getSubtype(); if (subType == TelephonyManager.NETWORK_TYPE_GPRS) { network = "GPRS"; } } } return "#X.Ray反馈建议# 型号:" + android.os.Build.MANUFACTURER + " " + android.os.Build.MODEL + ",Android版本:" + android.os.Build.VERSION.RELEASE + ",网络状态:" + network + ",应用版本:" + buildVersionInfo() + " @撕嗒滴兔呆"; } }