如何在android中从浏览器启动活动?

问题描述:

如何从Android浏览器启动我的活动?如何在android中从浏览器启动活动?

我有一个链接说,http://a.b.com。当用户在Android浏览器中输入该URL时,我需要打开活动。我有以下意图过滤器在我的Android清单:

<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="a.b.com"/> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <category android:name="android.intent.category.BROWSABLE"/> 
</intent-filter> 
+0

是你的''在你的''? – Aleadam 2011-04-20 15:45:19

+0

是................. – 2011-04-20 16:09:41

+0

我想知道如何用android:scheme =“http”启动一个活动,我之前尝试过没有成功!:( – Jorgesys 2014-02-07 01:02:12

+0

我在互联网上搜索了答案,并且每个人都声明你只需要在manifest中给intent过滤器。但是,即使O给了它,我也没有得到结果。当我在浏览器中输入URL时,它不会启动我的应用程序.... – 2011-04-21 05:17:03

+0

同样在这里我使用的是确切的代码,但它不起作用我也读过多篇文章,文章,主题,他们都说,上面的代码是我们需要的,你找到了答案吗? – mrd 2012-06-03 19:23:03

(不要沉浸在问题的标题的答案是相关的。)这个例子从Android的浏览器中启动我的活动,并显示第一二送童车形式URL

package com.example.openapp; 

import java.util.List; 

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     TextView txt1 = (TextView) findViewById(R.id.textView1); 
     TextView txt2 = (TextView) findViewById(R.id.textView2); 
     try{ 
      Uri data = getIntent().getData(); 
      if(data != null){ 
       String scheme = data.getScheme(); 
       String host = data.getHost(); 
       List<String> params = data.getPathSegments(); 
       String first = params.get(0); 
       String second = params.get(1); 
       txt1.setText(first); 
       txt2.setText(second); 
      } 
     } catch (Exception e){ 
     }  
    } 
} 

您需要在清单中添加这和替换的Android主机机智h你的主机:

 <activity 
     android:name="com.example.openapp.MainActivity" 
     android:label="@string/app_name" > 
     <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="example.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>