【问题标题】:Check if an intent data is null or not?检查意图数据是否为空?
【发布时间】:2019-10-11 15:00:56
【问题描述】:

我有一个流媒体应用,可以在ExoPlayer2 中播放视频。我添加了一个在外部播放器中打开视频的意图,但我想检查getData() 是否为empty/null,如果是,则显示敬酒或继续intent

我的代码:


      imgExternal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(Intent.ACTION_VIEW);

                if(getIntent().getData() == null) {
                    new ToastMsg(DetailsActivity.this).toastIconError("Sorry but there was an error retrieving the url!");
                } else {
                    intent.setData(Uri.parse(listDirector.get(0).getStremURL()));
                    startActivity(Intent.createChooser(intent, "Open In"));
                }

            }
        });

现在的问题是,我的应用认为一切都是空的,并向我展示 toast,因此我们将不胜感激。

【问题讨论】:

  • 你在哪里定义getIntent()
  • 只有在这里,假设它是正确的。
  • 您可以添加以前和当前活动的代码吗?
  • 试试 TextUtils.isEmpty(getIntent().getData())

标签: java android android-intent


【解决方案1】:

你可以检查

 if (listDirector.get(0).getStremURL() == null) {
        new ToastMsg(DetailsActivity.this).toastIconError("Sorry but there was an error retrieving the url!");
    } else {
        intent.setData(Uri.parse(listDirector.get(0).getStremURL()));
        startActivity(Intent.createChooser(intent, "Open In"));
    }

【讨论】:

    【解决方案2】:

    尝试使用this.getIntent().getData(),而不是getIntent().getData()

    【讨论】:

    • 应该有什么不同?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多