我想知道我们是否可以通过我的应用程序处理SMS中的链接。例如,一个看起来像myapp:// blabla的链接。通过点击它myapp将打开,链接作为参数。
此问题还指电子邮件,来自具有特殊扩展名的文件或SMS中的链接。
非常感谢你的帮助。
编辑31/01
实际上,我做了Greg所建议的但是没有用。这样的链接(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>
答案 0 :(得分:2)
是的,您可以使用意图过滤器。
基本上在你的Android Manifest中,选择一个你想成为处理给定网址的活动。
<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>
然后在你的活动中你可以通过调用意图上的getData()来获取url。