gpt4 book ai didi

java - 从电子邮件中的 url 调用应用程序 Activity

转载 作者:行者123 更新时间:2023-11-30 11:02:33 24 4
gpt4 key购买 nike

我有一个包含 4 个不同 Activity 的应用程序。

  • Activity 1 用于实时屏幕
  • Activity 2 用于播放屏幕

我正在实现场景以从发送到电子邮件客户端 (Gmail) 的 url 启动 Activity 。

用户收到电子邮件,其中有 2 个链接:

  • 链接 1 是打开实时屏幕( Activity 1)
  • 链接 2 用于打开播放屏幕( Activity 2)

在我的应用程序 list 文件中,我为 Activity 1 和 Activity 2 创建了 Intent 过滤器。

  <intent-filter> 
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
</intent-filter>

问题

  1. 当我使用自定义方案(例如“myapp”)时,Gmail 中的链接不可点击。如果我将方案添加为“http”,我只能单击链接。它是 android 电子邮件客户端的缺点吗?如何克服此问题并使用可点击的自定义 url。
  2. 因为我在我的 list 文件中添加了两个 Intent 过滤器,当我点击电子邮件中的 url 链接时,它会打开一个选择器对话框来选择应用程序。在里面,我的应用程序图标显示了 2 次。我希望我的应用程序图标只显示一次。根据链接,它应该打开 Activity 1 或 2。根据 list 文件中给出的 Intent 过滤器,该图标似乎出现了多次。我怎样才能克服这个问题

最佳答案

when i use custom scheme (e.g "myapp" ) the link inside the Gmail is not clickable. I can only click the link if i add scheme as "http" . is it a drawback on android email clients? How to overcome this issue and use a clickable custom url.

不幸的是,GMail 是否愿意使用自定义 URL 方案取决于它。

一种常用的解决方案是链接到一个将用户重定向到自定义 URL 方案的网站。

since i have added two intent filters inside my manifest file , when i click on the url link in the email, it opens a selector dialog to choose the application. Inside that , my application icon is shown 2 times. I want my application icon to be shown only once . and based on the link, it should open activity 1 or 2. it seems the icon appears number of times as per the intent filters given inside the manifest file. How can i overcome this issue

仅为您要拦截的每个唯一 URI 方案注册一个 Intent 过滤器。

如果您的应用需要解析数据以确定去向,那么您可以将该逻辑放在您的主 Activity 中,或者创建一个专门用于解析链接的特殊 Activity ,并将 Intent 过滤器放在该 Activity 的 list 条目中.

如果你真的在使用<data android:scheme="http" /> ,然后是你的 <data> 标签太模糊了。您可以通过添加主机或路径属性使它们更具体,以便您的链接仅解析到您的一个 Intent 过滤器而不是所有它们。

关于java - 从电子邮件中的 url 调用应用程序 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30734788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com