转载:请标注: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);
复制代码
|