我正在使用this tutorial to了解Android中Intent的基础知识。我正在使用的代码示例来自名为"强制应用选择器"在链接的页面上。
以下是单击按钮时应调用的方法。
public void startSecondActivity(View view) {
Intent intent = new Intent(Intent.ACTION_SEND);
String fileChooserLabel = getResources().getString(R.string.fileChooserLabel);
Intent fileChooserIntent = Intent.createChooser(intent, fileChooserLabel);
if (intent.resolveActivity(getPackageManager())!=null) {
startActivity(intent);
} else {
textView = (TextView) findViewById(R.id.text_view);
textView.setText("False");
}
}
但它只是输入else
条件的if-else
块。我在真实设备和模拟器上试过这个应用程序。所以任何人都可以指出这里可能出现的问题,以及我能做些什么。
注意:我没有向Manifest文件添加任何内容,因为我使用的是Eclipse IDE,我认为此时所需的任何内容都会自动添加到清单文件中。
答案 0 :(得分:1)
它返回null
,因为设备上没有支持Intent
的活动。在这种情况下,您的ACTION_SEND
Intent
设置不正确。
请注意,您用作参考的代码示例不是教程。它不是一个完整的代码示例。事实上,他们在那里列出的内容甚至都不会编译,因为他们的...
意图被您自己的代码替换,以完成Intent
的设置。
您需要完全配置ACTION_SEND
Intent
,最明显的是设置MIME类型,如the documentation中其他地方所述。替换:
Intent intent = new Intent(Intent.ACTION_SEND);
有类似的东西:
Intent intent = new Intent(Intent.ACTION_SEND)
.setType("text/plain")
.putExtra(Intent.EXTRA_TEXT, "IM IN UR STAK OVERFLO ANZWR");
应该足够了。