我想知道我们是否可以在 SMS 中包含一个由我的应用程序处理的链接。例如,一个看起来像 myapp://blabla 的链接。通过单击它,myapp 将以链接作为参数打开。
此问题还涉及电子邮件,来自具有特殊扩展名的文件或类似 SMS 中的链接。
非常感谢您的帮助。
编辑 31/01
实际上,我按照 Greg 的建议做了,但它不起作用。这样的链接 (myapp://blabla) 在 SMS/电子邮件中不可点击...当我将 myapp 替换为 http 作为方案时,它有效(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>
最佳答案
是的,您可以使用 Intent 过滤器。
基本上在您的 android Manifest 中,选择您希望成为处理给定 url 的 Activity 。
<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>
然后在您的 Activity 中,您可以通过在 Intent 上调用 getData() 来获取 url。
关于android - 从短信/邮件链接到 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717125/