首页 编程 软件学院 查看内容

36个Android开发常用代码片段

2016-2-1 11:45 2595 0

摘要: 拨打电话publicstaticvoidcall(Context context, String phoneNumber) {context.startActivity(newIntent(Intent.ACTION_CALL, Uri.parse("tel:"+ phoneNumber)));}跳转至拨号界面publicstaticvoidcallDial(Cont ...

拨打电话

 

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(); 

    }


需要添加权限

 

"android.permission.WAKE_LOCK" />

"android.permission.DISABLE_KEYGUARD" />

 

判断当前App处于前台还是后台状态

 

public static boolean isApplicationBackground(final Context context) {

        ActivityManager am = (ActivityManager) context

                .getSystemService(Context.ACTIVITY_SERVICE);

        @SuppressWarnings("deprecation")

        List tasks = am.getRunningTasks(1);

        if (!tasks.isEmpty()) {

            ComponentName topActivity = tasks.get(0).topActivity;

            if (!topActivity.getPackageName().equals(context.getPackageName())) {

                return true;

            }

        }

        return false;

    }


需要添加权限

 

     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;

}

 

收集设备信息,用于信息统计分析

 

public static Properties collectDeviceInfo(Context context) {

        Properties mDeviceCrashInfo = new Properties();

        try {

            PackageManager pm = context.getPackageManager();

            PackageInfo pi = pm.getPackageInfo(context.getPackageName(),

                    PackageManager.GET_ACTIVITIES);

            if (pi != null) {

                mDeviceCrashInfo.put(VERSION_NAME,

                        pi.versionName == null "not set" : pi.versionName);

                mDeviceCrashInfo.put(VERSION_CODE, pi.versionCode);

            }

        catch (PackageManager.NameNotFoundException e) {

            Log.e(TAG, "Error while collect package info", e);

        }

        Field[] fields = Build.class.getDeclaredFields();

        for (Field field : fields) {

            try {

                field.setAccessible(true);

                mDeviceCrashInfo.put(field.getName(), field.get(null));

            catch (Exception e) {

                Log.e(TAG, "Error while collect crash info", e);

            }

        }

 

        return mDeviceCrashInfo;

    }

 

public static String collectDeviceInfoStr(Context context) {

        Properties prop = collectDeviceInfo(context);

        Set deviceInfos = prop.keySet();

        StringBuilder deviceInfoStr = new StringBuilder("{\n");

        for (Iterator iter = deviceInfos.iterator(); iter.hasNext();) {

            Object item = iter.next();

            deviceInfoStr.append("\t\t\t" + item + ":" + prop.get(item)

                    ", \n");

        }

        deviceInfoStr.append("}");

        return deviceInfoStr.toString();

    }

 

是否有SD卡

 

public static boolean haveSDCard() {

        return android.os.Environment.getExternalStorageState().equals(

                android.os.Environment.MEDIA_MOUNTED);

    }

 

动态隐藏软键盘

 

@TargetApi(Build.VERSION_CODES.CUPCAKE)

    public static void hideSoftInput(Activity activity) {

        View view = activity.getWindow().peekDecorView();

        if (view != null) {

            InputMethodManager inputmanger = (InputMethodManager) activity

                    .getSystemService(Context.INPUT_METHOD_SERVICE);

          

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论