从短信/邮件链接到Android应用程序

Vin*_*ent 5 sms android hyperlink

我想知道我们是否可以在SMS中使用我的应用程序处理的链接.例如,一个看起来像myapp:// blabla的链接.通过点击它myapp将打开,链接作为参数.

此问题还指电子邮件,来自具有特殊扩展名的文件或SMS中的链接.

非常感谢你的帮助.


编辑31/01

实际上,我做了格雷格所说的但它不起作用.这样的链接(myapp:// blabla)在短信/电子邮件中无法点击...当我用http替换myapp作为方案时,它可以工作(Android问我应该打开与myapp或浏览器的链接).但myapp:// blabla不能用myapp作为方案点击.这是我的代码:

   <application android:icon="@drawable/icon" android:label="@string/app_name"
android:debuggable="true">
<activity android:name=".myapp"
          android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar"
          android:launchMode="singleTask"
          android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="myapp" android:host="blabla" />
        </intent-filter>
    </activity>

    <activity android:name=".SecondActivity"></activity>
    <activity android:name=".SettingsActivity"></activity>
</application>
Run Code Online (Sandbox Code Playgroud)

Gre*_*lli 2

是的,你可以使用意图过滤器。

基本上,在您的 Android 清单中,选择您想要处理给定 url 的活动。

<activity android:name=".myactivies.MyActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="myapp" android:host="blabla" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

然后在您的 Activity 中,您可以通过调用 Intent 上的 getData() 来获取 url。

  • 嘿,我刚刚浏览了一下我的东西,意识到你是对的。对不起。我没有多想。因此,大多数文本字段都使用 android.text.Linkify 在应用程序内进行文本链接。这没有考虑非 http url。因此,除非您控制应用程序渲染文本,否则它将无法工作。所以,是的,我们也依赖 http url 来链接短信。我真的很抱歉让你去追兔子洞。您可以做的是提供意图过滤器并使用 http 提交短信以及您可以使用自己的自定义方案执行的任何应用程序到应用程序的内容。再次对造成的混乱表示歉意。 (2认同)