Android代码片段整理(一)

从这篇文章开始,我将整理Android中常见的功能代码实现。这是该系列的第一篇文章。
这篇文章讲解的包括拨打电话、跳转至拨号界面、发送短信、判断当前设备是否为手机。

一、拨打电话

    /**
     * 拨打电话
     * @param context 上下文对象
     * @param phoneNumber 电话号码
     */
    public static void call(Context context, String phoneNumber) {
        context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)));
    }

这里有一个东西要注意,由于Android 6.0以后,Google引入了运行时权限,而拨打电话属于Dangerous Permission,所以需要在程序中加上对运行时权限的处理。

二、跳转至拨号界面

    /**
     * 跳转至拨号界面
     * @param context 上下文对象
     * @param phoneNumber 电话号码
     */
    public static void callDial(Context context, String phoneNumber) {
        context.startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber)));
    }

三、发送短信

    /**
     * 发送短信
     * @param context 上下文对象
     * @param phoneNumber 电话号码
     * @param content 短信内容
     */
    public 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);
    }

四、判断当前设备是否为手机

    /**
     * 判断当前设备是否为手机
     * @param context
     * @return true表示为手机 false表示不为手机(比如说平板)
     */
    public boolean isPhone(Context context) {
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
            return false;
        }
        return true;
    }

简单分析一下:这里主要用到TelephonyManager。首先通过获取系统服务,然后得到TelephonyManager。接着通过telephonyManager.getPhoneType()获取phone的类型,如果为PHONE_TYPE_NONE,则表示不是手机。

猜你喜欢

转载自blog.csdn.net/zdj_develop/article/details/75309136
今日推荐