【Android】在浏览器中打开url链接,打开Service,复习IntDef

需要在浏览器中打开链接:

 /**
     * @hide
     */
    /*定义部分*/

    @IntDef({OPEN_BROWSER, START_SERVICE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface AdsHandler {
    }

    public static final int OPEN_BROWSER = 0;
    public static final int START_SERVICE = 1;

    private void startAdsDelegate(@AdsHandler int handler) {

        String url = ConstantData.ADS_DOWNLOAD_URL;

        // fast failure
        if (url == null && url.isEmpty()) return;

    // open url in browser
    // 在浏览器中打开链接
        if (handler == OPEN_BROWSER) {
        // key code, 关键代码
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);
        } else if (handler == START_SERVICE) {
            Intent intent = new Intent(LoginActivity.this, AdsDelegate.class);
            Bundle bundle = new Bundle();

            bundle.putString("url", url);
            intent.putExtras(bundle);
            startService(intent);
        }

    }

其它的几种打开url的简单代码归纳:(无非就是one line code,意义不大)

Intent i = new Intent(Intent.ACTION_VIEW, 
       Uri.parse("http://xxxxx"));
startActivity(i);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://xxxxx")));

当然,url需要加上http或是https前缀才可以,所以,你也可以这样写:

if (!url.startsWith("https://") && !url.startsWith("http://")){
    url = "http://" + url;
    //  要是https链接的话就有问题了~~
}

Intent intent= new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);

IntDef,看之前写的一篇

转载署源-By-KyleCe:http://blog.csdn.net/KyleCeshen/article/details/50301683

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值