首页 文章

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

提问于
浏览
5

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 回答

  • 3

    当我在从未启动过我的应用程序的浏览器中键入http://ebay.com时 .

    它在单击匹配链接时启动,而不是在浏览器中键入URL时 . 通过向自己发送包含http://ebay.com的电子邮件并单击电子邮件应用程序中的链接来尝试 .

相关问题