未发现 Activity 可在 url 中使用 http 处理 Intent

我已经搜索,搜索和搜索了几个小时,但找不到对我的问题有意义的解决方案。我只是想从我的 android 应用程序内部打开一个网页。应该很简单,但我不断收到 No Activity found 错误并且应用程序崩溃。我的代码对此非常简单......


关于活动


@Override

public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_about);

  Button appsButton = findViewById(R.id.about_button);

  appsButton.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {

      Intent intent = new Intent(Intent.ACTION_VIEW);

      intent.setData(Uri.parse(Keys.MARKET_LINK));

      intent.setPackage(getPackageName());

      startActivity(intent);

    }

  });

}

在我的钥匙课上...


public static final String MARKET_LINK = "https://play.google.com/store/apps/dev?id=<MY ID>";

每次我单击应用程序中的“aboutButton”时,都会出现错误...


android.content.ActivityNotFoundException: 没有找到处理 Intent { act=android.intent.action.VIEW dat= https://play.google.com/ ...


我在网上找到的所有内容都说完全相同...您的网址不包含“http://”部分,因此失败,但您可以看到我的网址确实包含“https://”部分网址。这是一个完整的 URL,我可以在浏览器窗口中输入它,然后完美地打开页面。我不明白它如何不能有处理 Intent.ACTION_VIEW 的活动。我现在不知道该去哪里,因为网上的所有内容都说在 url 中添加“http://”并且它会起作用,但它不会。另外,我确实有


<uses-permission android:name="android.permission.INTERNET />

在我的清单文件中。任何帮助将不胜感激,这让我发疯。谢谢


梵蒂冈之花
浏览 195回答 1
1回答

拉莫斯之舞

你的目标是一个特定的包intent.setPackage(getPackageName());因此,系统正在您的应用程序中寻找一个意图过滤器来处理意图。如果您删除它,它将查看设备上的其他应用程序并找到应该允许您打开它们的浏览器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java