在我的Android应用程序中,我希望用户选择,如果有多个可能的应用程序,应该使用哪个其他应用程序来显示某个图像。因此我得到了以下代码:
final Intent intent = new Intent(Intent.ACTION_VIEW)
.setDataAndType(uri, IMAGE_MIME_TYPE)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NO_HISTORY);
context.startActivity(intent);
根据意图显示应用选择器。
在我致电startActivity
之前,我打开一个ProgressDialog
,例如用户通过后退按钮取消应用选择器时我要关闭。确定应用选择器被取消的最佳方法是什么?换句话说 - 我应该在哪里关闭ProgressDialog
?
答案 0 :(得分:4)
开始这样的活动:
context.startActivityForResult(viewIntent, <int flag>);
然后在onActivityResult()
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == <int flag>) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
// The user pressed ok
}else{
// The user pressed cancel
}
}
}