1 需要添加网络请求权限
2 增加回调,网络请求成功之后才去操作数据
public class RedrictActivity extends AppCompatActivity {
private String originUrl = "http://t.cn/RBGkaMA";
private interface OnSuccessListener{
void doLogic(String s);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_redrict);
redirectUrl(new OnSuccessListener() {
@Override
public void doLogic(String s) {
//获取到重定向的url可以操作啦
Log.i("TAG", "doLogic: "+s);
}
});
}
private void redirectUrl(final OnSuccessListener onSuccessListener) {
new AsyncTask<String, Integer, String>() {
@Override
protected String doInBackground(String... strings) {
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) new URL(originUrl).openConnection();
} catch (IOException e) {
e.printStackTrace();
}
conn.setInstanceFollowRedirects(false);
conn.setConnectTimeout(5000);
String url = conn.getHeaderField("Location");
conn.disconnect();
return url;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
onSuccessListener.doLogic(s);
}
}.execute();
}
}