无法通过从Android浏览器调用URL来启动应用程序

时间:2011-08-31 15:13:15

标签: android url browser android-intent

stackoverflow中有很多答案显示如何从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 个答案:

答案 0 :(得分:3)

  

当我在浏览器中输入http://ebay.com时,我从未启动过   应用

单击匹配链接时,如果您在浏览器中键入URL,则会启动它。 试着给自己发送一封包含http://ebay.com的电子邮件,然后点击电子邮件应用程序中的链接。