需要在浏览器中打开链接:
/**
* @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