标签:
Splash界面的作用
打开应用Splash界面连接网络检查版本.
获得包管理器,通过包管理器获得版本信息
1 // 获取自己的版本信息 2 PackageManager pm = getPackageManager(); 3 try { 4 PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);//获得本应用信息 5 // 版本号 6 versionCode = packageInfo.versionCode; 7 // 版本名 8 versionName = packageInfo.versionName; 9 10 // 设置textview 11 tv_versionName.setText(versionName); 12 } catch (NameNotFoundException e) { 13 // can not reach 使用Api获得应用这个异常不会发生 14 }
安装应用
1 protected void installApk() { 2 /* 3 * <intent-filter> <action android:name="android.intent.action.VIEW" /> 4 * <category android:name="android.intent.category.DEFAULT" /> <data 5 * android:scheme="content" /> <data android:scheme="file" /> <data 6 * android:mimeType="application/vnd.android.package-archive" /> 7 * </intent-filter> 8 */ 9 Intent intent = new Intent("android.intent.action.VIEW"); 10 intent.addCategory("android.intent.category.DEFAULT"); 11 String type = "application/vnd.android.package-archive"; 12 Uri data = Uri.fromFile(new File("/mnt/sdcard/xx.apk")); 13 intent.setDataAndType(data, type); 14 startActivityForResult(intent, 0); 15 16 }
手势识别器
1 private void initGesture() { 2 //初始化手势识别器,要想手势识别器生效,绑定onTouch事件 3 gd = new GestureDetector(new OnGestureListener() { 4 5 //覆盖此方法完成手势的切换效果 6 /** 7 * e1,按下的点 8 * e2 松开屏幕的点 9 * velocityX x轴方向的速度 10 * velocityY y轴方向的速度 11 */ 12 @Override 13 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 14 float velocityY) { 15 // TODO Auto-generated method stub 16 //x轴方向的速度是否满足横向滑动的条件 pix/s 17 if (velocityX > 200) { //速度大于400像素每秒 18 //可以完成滑动 19 float dx = e2.getX() - e1.getX();//x轴方向滑动的间距 20 if (Math.abs(dx) < 100) { 21 return true;//如果间距不符合直接无效 22 } 23 if (dx < 0 ){//从右往左滑动 24 next(null);//不是组件的事件调用 25 } else {//从左往右滑动 26 prev(null); 27 } 28 } 29 return true; 30 } 31 ......还有很多个方法
SIM卡绑定
1 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 2 //sim卡信息 3 String simSerialNumber = tm.getSimSerialNumber();
assets资产目录数据库拷贝
private void copyDB(final String dbName) { new Thread() { public void run() { // 判断文件是否存在,如果存在不需要拷贝 File file = new File("/data/data/" + getPackageName() + "/files/" + dbName); if (file.exists()) {// 文件存在 return; } // 文件的拷贝 try { filecopy(dbName); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }; }.start(); }
判断服务是否在运行
public static boolean isServiceRunning(Context context,String serviceName){ boolean isRunning = false; //判断运行中的服务状态,ActivityManager ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //获取android手机中运行的所有服务 List<RunningServiceInfo> runningServices = am.getRunningServices(50); for (RunningServiceInfo runningServiceInfo : runningServices) { //System.out.println(runningServiceInfo.service.getClassName()); //判断服务的名字是否包含我们指定的服务名 if (runningServiceInfo.service.getClassName().equals(serviceName)){ //名字一直,该服务在运行中 isRunning = true; //已经找到 退出循环 break; } } return isRunning; }
开机接收广播
广播注册
<receiver android:name="com.itheima62.mobileguard.receiver.BootReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" > </action> </intent-filter> </receiver>
标签:
原文地址:http://www.cnblogs.com/linjiqian/p/4604384.html