在我的Android应用程序中,我有一个按钮,当点击时,启动我选择的外部应用程序来播放视频(我认为这被称为“隐含意图”)。以下是我onCreate
方法中的相关Java代码。
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener
(
new Button.OnClickListener()
{
public void onClick(View v)
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("https://youtu.be/jxoG_Y6dvU8"), "video/*");
startActivity(i);
}
}
);
我预计这会有效,因为我已经非常密切地关注了教程和Android开发人员文档,但是当我在AVD中测试我的应用程序时,而不是提示我可以查看视频的外部应用程序菜单,应用程序崩溃。
导致我的应用崩溃的原因是什么?
答案 0 :(得分:2)
将onClick方法更改为以下代码。您应该选择外部播放器。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_mandatory_text_field"/>
答案 1 :(得分:1)
更改您的代码以添加此项检查:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("https://youtu.be/jxoG_Y6dvU8"), "video/*");
// Check there is an activity that can handle this intent
if (i.resolveActivity(getPackageManager()) == null) {
// TODO No activity available. Do something else.
} else {
startActivity(i);
}