与我的Android Studio应用共享网络文章

aiazj4mn  于 2023-01-11  发布在  Android
关注(0)|答案(2)|浏览(124)

我想开发一款Android应用程序,让我可以(通过手机上的浏览器)与应用程序共享一篇网络文章。这样我就可以在应用程序中保存文章的链接(如果可能,甚至可以保存文章的全文)。目标是用户可以在稍后的时间点点击链接,然后再次在浏览器中重新打开文章。
不幸的是,我在网上只找到令人困惑的信息,没有真实的具体的例子。有人能帮我吗

uz75evzq

uz75evzq1#

我假设您正在寻找创建一个应用程序来接收来自浏览器的链接,其中用户使用浏览器中的共享菜单选项(或工具栏按钮或其他)。
一般来说,要做到这一点,您需要实现一个支持ACTION_SEND协议的Activity
首先,您需要在清单中的<activity>中添加一个<intent-filter>,说明您支持ACTION_SEND的纯文本格式:

<intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
      </intent-filter>

然后,在您的活动中,您可以获得ACTION_SENDIntent和URL。粗略地说,这将是:

private fun saveBookmark(intent: Intent) {
    if (Intent.ACTION_SEND == intent.action) {
      val pageUrl = intent.getStringExtra(Intent.EXTRA_STREAM)
        ?: intent.getStringExtra(Intent.EXTRA_TEXT)

      if (pageUrl != null && Uri.parse(pageUrl).scheme!!.startsWith("http")) {
        // TODO something with the URL
      } else {
        // TODO you did not get a URL, so show an error or something
      }
    }
  }

可以从两个位置调用saveBookmark()

  • onCreate(),传入getIntent()的值
  • onNewIntent(),将获得的Intent作为参数传递给onNewIntent()

您可以在the documentation中了解更多信息。

o75abkj4

o75abkj42#

你需要为你的应用程序寻找一个后端系统。你应该选择Firebase。使用Firebase身份验证进行用户登录,使用Firebase Firestore/Realtime Database进行链接同步。
显然,您需要一个基于Web的客户端来共享浏览器中指向应用程序的链接。

相关问题