stackoverflow中有很多答案显示了如何从Web浏览器中获取应用程序,但我不确定我的代码出了什么问题,似乎从来没有做过预期的 . 我试图通过任何其他应用程序(如Web浏览器)的URL启动我的应用程序,最初我的清单文件看起来像这样
<activity android:name=".Main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="http" android:host="ebay.com" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
当我在从未启动过我的应用程序的浏览器中输入http://ebay.com时 . 显然,浏览器如何知道我的应用程序?然后我尝试了另一种方式并添加了另一个名为MyActivity的Activity并将清单文件更改为
<activity android:name=".Main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MyActivity">
<intent-filter>
<data android:scheme="http" android:host="ebay.com" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
并在我的主要活动中尝试过
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://mycityway.com")));
从而产生预期的结果 . 我也可以使用这种方法启动另一个应用程序Activity .
但是这里的大多数答案都表明后者是可能的 . 我正在做的错误是什么,我无法从浏览器启动我的应用程序 . 请指导我 .
1 回答
它在单击匹配链接时启动,而不是在浏览器中键入URL时 . 通过向自己发送包含http://ebay.com的电子邮件并单击电子邮件应用程序中的链接来尝试 .