【凱子哥帶你夯實應用程式層】新手必備的常用程式碼片段整理(一),夯實應用程式層

來源:互聯網
上載者:User

【凱子哥帶你夯實應用程式層】新手必備的常用程式碼片段整理(一),夯實應用程式層

轉載請註明出處:http://blog.csdn.net/zhaokaiqiang1992

以下內容來自多個開源項目的整理和自己的項目積累

    • 撥打到電話
    • 跳轉至撥號介面
    • 傳送簡訊
    • 喚醒螢幕並解鎖
    • 判斷當前App處於前台還是後台狀態
    • 判斷當前手機是否處於鎖屏睡眠狀態
    • 判斷當前是否有網路連接
    • 判斷當前是否是WIFI串連狀態
    • 安裝APK
    • 判斷當前裝置是否為手機
    • 擷取當前裝置寬高單位px
    • 擷取當前裝置的IMEI需要與上面的isPhone一起使用
    • 擷取當前裝置的MAC地址
    • 擷取當前程式的版本號碼

撥打到電話
public static void call(Context context, String phoneNumber) {        context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)));    }
跳轉至撥號介面
public static void callDial(Context context, String phoneNumber) {        context.startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber)));    }
傳送簡訊
public static void sendSms(Context context, String phoneNumber,            String content) {        Uri uri = Uri.parse("smsto:"                + (TextUtils.isEmpty(phoneNumber) ? "" : phoneNumber));        Intent intent = new Intent(Intent.ACTION_SENDTO, uri);        intent.putExtra("sms_body", TextUtils.isEmpty(content) ? "" : content);        context.startActivity(intent);    }
喚醒螢幕並解鎖
public static void wakeUpAndUnlock(Context context){          KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);          KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");          //解鎖          kl.disableKeyguard();          //擷取電源管理器對象          PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE);          //擷取PowerManager.WakeLock對象,後面的參數|表示同時傳入兩個值,最後的是LogCat裡用的Tag          PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK,"bright");          //點亮螢幕          wl.acquire();          //釋放          wl.release();      }  

需要添加許可權

<uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
判斷當前App處於前台還是後台狀態
public static boolean isApplicationBackground(final Context context) {        ActivityManager am = (ActivityManager) context                .getSystemService(Context.ACTIVITY_SERVICE);        @SuppressWarnings("deprecation")        List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);        if (!tasks.isEmpty()) {            ComponentName topActivity = tasks.get(0).topActivity;            if (!topActivity.getPackageName().equals(context.getPackageName())) {                return true;            }        }        return false;    }

需要添加許可權

<uses-permission     android:name="android.permission.GET_TASKS" />
判斷當前手機是否處於鎖屏(睡眠)狀態
public static boolean isSleeping(Context context) {        KeyguardManager kgMgr = (KeyguardManager) context                .getSystemService(Context.KEYGUARD_SERVICE);        boolean isSleeping = kgMgr.inKeyguardRestrictedInputMode();        return isSleeping;    }
判斷當前是否有網路連接
public static boolean isOnline(Context context) {        ConnectivityManager manager = (ConnectivityManager) context                .getSystemService(Activity.CONNECTIVITY_SERVICE);        NetworkInfo info = manager.getActiveNetworkInfo();        if (info != null && info.isConnected()) {            return true;        }        return false;    }
判斷當前是否是WIFI串連狀態
    public static boolean isWifiConnected(Context context) {        ConnectivityManager connectivityManager = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo wifiNetworkInfo = connectivityManager                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);        if (wifiNetworkInfo.isConnected()) {            return true;        }        return false;    }
安裝APK
    public static void installApk(Context context, File file) {        Intent intent = new Intent();        intent.setAction("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        intent.setType("application/vnd.android.package-archive");        intent.setDataAndType(Uri.fromFile(file),                "application/vnd.android.package-archive");        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);    }
判斷當前裝置是否為手機
    public static boolean isPhone(Context context) {        TelephonyManager telephony = (TelephonyManager) context                .getSystemService(Context.TELEPHONY_SERVICE);        if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {            return false;        } else {            return true;        }    }
擷取當前裝置寬高,單位px
    @SuppressWarnings("deprecation")    public static int getDeviceWidth(Context context) {        WindowManager manager = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        return manager.getDefaultDisplay().getWidth();    }    @SuppressWarnings("deprecation")    public static int getDeviceHeight(Context context) {        WindowManager manager = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        return manager.getDefaultDisplay().getHeight();    }
擷取當前裝置的IMEI,需要與上面的isPhone()一起使用
    @TargetApi(Build.VERSION_CODES.CUPCAKE)    public static String getDeviceIMEI(Context context) {        String deviceId;        if (isPhone(context)) {            TelephonyManager telephony = (TelephonyManager) context                    .getSystemService(Context.TELEPHONY_SERVICE);            deviceId = telephony.getDeviceId();        } else {            deviceId = Settings.Secure.getString(context.getContentResolver(),                    Settings.Secure.ANDROID_ID);        }        return deviceId;    }
擷取當前裝置的MAC地址
    public static String getMacAddress(Context context) {        String macAddress;        WifiManager wifi = (WifiManager) context                .getSystemService(Context.WIFI_SERVICE);        WifiInfo info = wifi.getConnectionInfo();        macAddress = info.getMacAddress();        if (null == macAddress) {            return "";        }        macAddress = macAddress.replace(":", "");        return macAddress;    }
擷取當前程式的版本號碼
    public static String getAppVersion(Context context) {        String version = "0";        try {            version = context.getPackageManager().getPackageInfo(                    context.getPackageName(), 0).versionName;        } catch (PackageManager.NameNotFoundException e) {            e.printStackTrace();        }        return version;    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.