android.intent.action.VIEW
表明被启动Activity的action是查看操作数据
android.intent.category.BROWSABLE
表明被启动Activity的category是制定该Activity能被浏览器安全调用
android:scheme=“http”
表明被启动Activity的data部分的scheme只能是 http 开头
修改activity_main.xml
<EditText
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:id=“@+id/editText”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintBottom_toTopOf=“@id/bn” />
<Button
android:id=“@+id/bn”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“打开浏览器”
app:layout_constraintBottom_toBottomOf=“parent”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintTop_toTopOf=“parent” />
修改MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bn = findViewById(R.id.bn);
final EditText editText =findViewById(R.id.editText);
//为bn按钮添加一个监听器
bn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建Intent
Intent intent = new Intent();
//获取editText中输入的数据
String data=editText.getText().toString();
//根据指定字符串解析出Uri对象
Uri uri = Uri.parse(data);
//为Intent设置Action属性
intent.setAction(Intent.ACTION_VIEW);
//为Intent设置Category属性
intent.addCategory(Intent.CATEGORY_BROWSABLE);
//设置Data属性
intent.setData(uri);
//启动Activity
startActivity(intent);
}
});
}
}
点击“打开浏览器”,界面跳转,启动WebViewActivity
查看浏览器能否正常使用,输入信息,点击搜索
浏览器搜索成功,可以正常使用
问题:无法加载url
解决方法:更改网络安全配置
在AndroidManifest. xml清单文件中添加
android:usesCleartextTraffic=“true”
参考链接 net::cleartext_not_permitted 报错问题
作者 张巧红
原文地址
最后
为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。