点击链接时我需要打开我的应用程序。为此,我读到我必须使用URL方案。该链接必须具有myapp://参数形式。
我阅读了有关此主题的每篇文章,但是当我发送一封电子邮件时,我发送了" myapp:// addUser /?id = 22"我从chrome(在我的手机上)打开,它不可点击。
我的清单:
<activity
android:name="com.example.SplashActivity"
android:label="@string/app_name"
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.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" android:host="com.example"/>
</intent-filter>
</activity>
我的课程:
公共类SplashActivity扩展了FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Intent intent = getIntent();
if (Intent.ACTION_VIEW.equals(intent.getAction())) {
Uri uri = intent.getData();
String id = uri.getQueryParameter("id");
}
}
测试代码的邮件内容:
myapp://addUser/?id=22
参考链接:
Make a link in the Android browser start up my app?
https://legacy.madewithmarmalade.com/devnet/forum/custom-url-scheme-primarily-android-3
更新
我认为问题是邮件正文,但我不知道如何测试它。
答案 0 :(得分:3)
在你的清单中
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" android:host="com.example"/>
</intent-filter>
你定义了android:host =&#34; com.example&#34;,所以你应该修改链接URL:
myapp://addUser/?id=22 //error
myapp://com.example/?id=22 //correct
然后它可以工作!!
答案 1 :(得分:1)
我在这里做了一个测试,在清单文件中我刚删除了“android:host”参数,留下了这个:
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
并在此处打开了一个网址myapp://testing
,我将其放在一个简单的HTML文件上,仅供尝试。