轉載:請標註:http://bbs.itheima.com/thread-46102-1-1.html
一、 獲取系統版本號:
-
PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
-
-
int versionCode=nfo.versionCode
-
-
string versionName=info.versionNam
-
複製代碼
二、獲取系統信息:
-
String archiveFilePath="sdcard/download/Law.apk";//安裝包路徑
-
-
PackageManager pm = getPackageManager();
-
-
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
-
-
if(info != null){
-
-
ApplicationInfo appInfo = info.applicationInfo;
-
-
String appName = pm.getApplicationLabel(appInfo).toString();
-
-
String packageName = appInfo.packageName; //得到安裝包名稱
-
-
String version=info.versionName; //得到版本信息
-
-
Toast.makeText(test4.this, "packageName:"+packageName+";version:"+version, Toast.LENGTH_LONG).show();
-
-
Drawable icon = pm.getApplicationIcon(appInfo);//得到圖標信息
-
-
TextView tv = (TextView)findViewById(R.id.tv); //顯示圖標
-
-
tv.setBackgroundDrawable(icon);
複製代碼
三、獲取安裝路徑和已安裝程序列表
-
(1)android中獲取當前程序路徑
-
-
getApplicationContext().getFilesDir().getAbsolutePath()
-
-
(2)android取已安裝的程序列表
-
-
List<PackageInfo> packageInfoList = getPackageManager().getInstalledPackages(0);
複製代碼
四、獲取圖片、應用名、包名
-
PackageManager pManager = MessageSendActivity.this.getPackageManager();
-
-
List<PackageInfo> appList = Utils.getAllApps(MessageSendActivity.this);
-
-
for(int i=0;i<appList.size();i++) {
-
-
PackageInfo pinfo = appList.get(i);
-
-
ShareItemInfo shareItem = new ShareItemInfo();
-
-
//set Icon
-
-
shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));
複製代碼
解決listview上 Item上有按鈕時 item本身不能點擊的問題:
-
1. 在item試圖上面添加代碼: android:descendantFocusability="blocksDescendants"
-
-
2.在listview裏 添加代碼 android:focusable="true"
複製代碼
不讓文本框輸入中文:
-
android:digits="1234567890qwertyuiopasdfghjklzxcvbnm`-=[]\;,./~!@#$%^*()_+}{:?&<>"'"
-
-
這樣就不會輸入中文了。
-
複製代碼
獲取屏幕寬高
-
DisplayMetrics displayMetrics = new DisplayMetrics();
-
-
this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
-
-
int height = displayMetrics.heightPixels;
-
-
int width = displayMetrics.widthPixels;
-
複製代碼
程序中安裝apk
-
Intent intent = new Intent();
-
-
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-
intent.setAction(android.content.Intent.ACTION_VIEW);
-
-
intent.setDataAndType(Uri.fromFile(“APK”),"application/vnd.android.package-archive");
-
-
startActivity(intent);
-
複製代碼
獲取設備型號、SDK版本及系統版本
-
String device_model = Build.MODEL; // 設備型號
-
-
String version_sdk = Build.VERSION.SDK; // 設備SDK版本
-
-
String version_release = Build.VERSION.RELEASE; // 設備的系統版本
-
複製代碼
當listview滑動到底部或者頂部,會出現金色動畫,去掉的辦法
-
listView.setOverScrollMode(View.OVER_SCROLL_NEVER);
複製代碼
獲取應用程序下所有Activity
-
public static ArrayList<String> getActivities(Context ctx) {
-
-
ArrayList<String> result = new ArrayList<String>();
-
-
Intent intent = new Intent(Intent.ACTION_MAIN, null);
-
-
intent.setPackage(ctx.getPackageName());
-
-
for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent, 0)) {
-
-
result.add(info.activityInfo.name);
-
-
}
-
-
return result;
-
-
}
-
複製代碼
檢測字符串中是否包含漢字
-
public static boolean checkChinese(String sequence) {
-
-
final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]";
-
-
boolean result = false;
-
-
Pattern pattern = Pattern.compile(format);
-
-
Matcher matcher = pattern.matcher(sequence);
-
-
result = matcher.find();
-
-
return result;
-
-
}
-
複製代碼
檢測字符串中只能包含:中文、數字、下劃線(_)、橫線(-)
-
public static boolean checkNickname(String sequence) {
-
-
final String format = "[^\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w-_]";
-
-
Pattern pattern = Pattern.compile(format);
-
-
Matcher matcher = pattern.matcher(sequence);
-
-
return !matcher.find();
-
-
}
複製代碼
設置窗口格式爲半透明
-
getWindow().setFormat(PixelFormat.TRANSLUCENT);
複製代碼
全屏顯示窗口
-
requestWindowFeature(Window.FEATURE_NO_TITLE);
-
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
複製代碼
調瀏覽器
載入網址
-
Uri uri = Uri.parse("http://www.google.com");
-
Intent it = new Intent(Intent.ACTION_VIEW, uri);
-
startActivity(it);
複製代碼
取得內存大小
-
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
-
activityManager.getMemoryInfo(outInfo);
-
//可用內存
-
outInfo.availMem
-
//是否在低內存狀態
-
outInfo.lowMemory
複製代碼
取得ScrollView的實際高度
-
scrollview.getHeight()
-
scrollview.getMeasuredHeight()
-
scrollview.compute()
-
scrollview.getLayoutParams().height
複製代碼
取得IP地址
-
A.
-
//Connect via WIFI 通過wifi
-
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
-
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
-
int ipAddress = wifiInfo.getIpAddress();
-
B.
-
//Connect via GPRS通過gprs
-
public String getLocalIpAddress(){
-
try{
-
for(Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();){
-
NetworkInterface intf = en.nextElement();
-
for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();){
-
InetAddress inetAddress = enumIpAddr.nextElement();
-
if (!inetAddress.isLoopbackAddress()){
-
return inetAddress.getHostAddress().toString();
-
}
-
}
-
}
-
}catch (SocketException ex){
-
Log.e(S.TAG, ex.toString());
-
}
-
return null;
-
}
複製代碼
圖片旋轉
-
Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon);
-
Matrix matrix = new Matrix();
-
matrix.postRotate(-90);//旋轉的角度
-
-
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
-
bitmapOrg.getWidth(), bitmapOrg.getHeight(), matrix, true);
-
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
複製代碼
獲取手機號碼
-
//創建電話管理
-
-
TelephonyManager tm = (TelephonyManager)
-
-
//與手機建立連接
-
activity.getSystemService(Context.TELEPHONY_SERVICE);
-
-
//獲取手機號碼
-
-
String phoneId = tm.getLine1Number();
-
-
//記得在manifest file中添加
-
<uses-permission
-
android:name="android.permission.READ_PHONE_STATE" />
-
-
//程序在模擬器上無法實現,必須連接手機
複製代碼
查看電池使用情況
-
Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
-
startActivity(intentBatteryUsage);
複製代碼
android中添加新的聯繫人
-
private Uri insertContact(Context context, String name, String phone) {
-
-
ContentValues values = new ContentValues();
-
values.put(People.NAME, name);
-
Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
-
Uri numberUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);
-
values.clear();
-
-
values.put(Contacts.Phones.TYPE, People.Phones.TYPE_MOBILE);
-
values.put(People.NUMBER, phone);
-
getContentResolver().insert(numberUri, values);
-
-
return uri;
-
}
複製代碼
android獲取存儲卡路徑以及使用情況
-
/** 獲取存儲卡路徑 */
-
File sdcardDir=Environment.getExternalStorageDirectory();
-
/** StatFs 看文件系統空間使用情況 */
-
StatFs statFs=new StatFs(sdcardDir.getPath());
-
/** Block 的 size*/
-
Long blockSize=statFs.getBlockSize();
-
/** 總 Block 數量 */
-
Long totalBlocks=statFs.getBlockCount();
-
/** 已使用的 Block 數量 */
-
Long availableBlocks=statFs.getAvailableBlocks();
複製代碼
android中獲取IP地址
-
public String getLocalIpAddress() {
-
try {
-
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
-
en.hasMoreElements();) {
-
NetworkInterface intf = en.nextElement();
-
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
-
enumIpAddr.hasMoreElements();) {
-
InetAddress inetAddress = enumIpAddr.nextElement();
-
if (!inetAddress.isLoopbackAddress()) {
-
return inetAddress.getHostAddress().toString();
-
}
-
}
-
}
-
} catch (SocketException ex) {
-
Log.e(LOG_TAG, ex.toString());
-
}
-
return null;
-
}
複製代碼
android 獲取設備唯一標識碼
-
String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
複製代碼
|