5

在我的 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

4

1 回答 1

8

开始这样的活动:

 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 
        }
    }
}
于 2016-07-05T08:29:58.023 回答