跳转到对应的系统界面

/**
 * 跳转到对应的系统界面
 *
 */
public class IntentUtil {
    private IntentUtil() {}

    /** 进入拨号界面 */
    public static void dial(Activity activity, String phoneNumber) {
        if (activity != null) {
            Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            activity.startActivity(intent);
        }
    }

    /**
     * 直接拨号
     * 需要权限:android.permission.CALL_PHONE
     */
    public static void call(Activity activity, String phoneNumber) {
        if (activity != null) {
            Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
            //权限检测
            if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.CALL_PHONE) ==
                    PackageManager.PERMISSION_GRANTED) {
                activity.startActivity(intentPhone);
            }
        }
    }

    /** 用浏览器打开url */
    public static void browser(Activity activity, String url) {
        if (activity != null) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            activity.startActivity(intent);
        }
    }

    /** 用系统浏览器打开url */
    public static void browserBySystem(Activity activity, String url) {
        if (activity != null) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
            activity.startActivity(intent);
        }
    }

    /** 安装应用 */
    public static void installApp(Activity activity, String apkPath) {
        if (activity != null && !TextUtils.isEmpty(apkPath)) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setDataAndType(Uri.fromFile(new File(apkPath)),
                    "application/vnd.android.package-archive");
            activity.startActivity(intent);
        }
    }

    /** 发送短信 */
    public static void sendSms(Activity activity, String smsBody) {
        if (activity != null) {
            Uri smsToUri = Uri.parse("smsto:");
            Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri);
            intent.putExtra("sms_body", smsBody);
            activity.startActivity(intent);
        }
    }

    /** 发送短信 */
    public static void sendSms(Activity activity, String phone, String smsBody) {
        if (activity != null) {
            Uri smsToUri = Uri.parse("smsto:" + phone);
            Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri);
            intent.putExtra("sms_body", smsBody);
            activity.startActivity(intent);
        }
    }

    /** 跳转到设置界面 */
    public static void setting(Activity activity) {
        if (activity != null) {
            Intent intent = new Intent(Settings.ACTION_SETTINGS);
            activity.startActivity(intent);
        }
    }

    /** 跳转到网络设置界面 */
    public static void networkSettings(Activity activity) {
        if (activity != null) {
            Intent intent = null;
            if (Build.VERSION.SDK_INT > 10) {
                intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
            } else {
                intent = new Intent();
                intent.setClassName("com.android.settings",
                        "com.android.settings.WirelessSettings");
            }
            activity.startActivity(intent);
        }
    }

    /**
     * 跳转到系统程序详细信息界面
     */
    public static void startInstalledAppDetails(Context context, String packageName) {
        Intent intent = new Intent();
        int sdkVersion = Build.VERSION.SDK_INT;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
            intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
            intent.setData(Uri.fromParts("package", packageName, null));
        } else {
            intent.setAction(Intent.ACTION_VIEW);
            intent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails");
            intent.putExtra((sdkVersion == Build.VERSION_CODES.FROYO
                    ? "pkg"
                    : "com.android.settings.ApplicationPkgName"), packageName);
        }
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }

    /**
     * 分享图片
     *
     * @param title 标题
     * @param imageUri 图片uri
     */
    public static void shareImage(Context context, String title, Uri imageUri) {
        Intent shareIntent = new Intent(Intent.ACTION_SEND);
        shareIntent.setType("image/jpeg");
        shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
        context.startActivity(Intent.createChooser(shareIntent, title));
    }

    /**
     * 分享文本
     *
     * @param titie 标题
     * @param subject 主题
     * @param content 内容
     */
    public static void shareText(Context context, String titie, String subject, String content) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_SUBJECT, subject);
        intent.putExtra(Intent.EXTRA_TEXT, content);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(Intent.createChooser(intent, titie));
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值