android - 当用户关闭 Intent 对话框时获取回调

标签 android android-intent

我有一个显示广告的视频播放器。当我单击视频播放器时,我会触发一个打开 URL 的 Intent。但是,如果有许多应用程序可以处理该 Intent,则会显示一个对话框。有没有可靠的方法来知道用户是否已关闭该对话框以便我可以恢复广告?

最佳答案

这就能解决问题:

使用startActivityForResult触发 Intent ,如下所示

private static final Integer OPEN_BROWSER_REQUEST_CODE = 100;

[...]

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivityForResult(browserIntent, OPEN_BROWSER_REQUEST_CODE);

然后通过重写onActivityResult来捕获结果,如下所示

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == OPEN_BROWSER_REQUEST_CODE) {
        switch (resultCode) {
            case RESULT_OK:
                break;
            case RESULT_CANCELED:
                break;
        }
    }
    super.onActivityResult(requestCode, resultCode, data);
}

希望这有帮助

关于android - 当用户关闭 Intent 对话框时获取回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28540476/

相关文章:

android - 再次加载启动器应用程序?

java - 在 Android 设备上访问 SD 卡上的 PDF 文件

android - 如何在我登录 Activity 后开始 Activity

android - 使用 LocalBroadcastManager 进行 'sticky' 广播

android - 开始在 android 中发送邮件的 Activity

android - 机器人 :ScrollView Jerky and animation list not work

android - Tesseract 在 android 中的最大识别时间

java - 如何在没有名称的android中解析json数组?

android - 为什么 Android 模拟器比 Windows 虚拟机慢得多?

android - 如何删除 EditText 指示器下方的下划线?