安卓基礎應用項目開發Api總結1

來源:互聯網
上載者:User

標籤:

 

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             // 設定textview11             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             @Override13             public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,14                     float velocityY) {15                 // TODO Auto-generated method stub16                 //x軸方向的速度是否滿足橫向滑動的條件 pix/s17                 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>

 

安卓基礎應用項目開發Api總結1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.