如何从具有深层链接的应用中打开Chrome中的网址

时间:2016-12-22 05:31:39

标签: android android-webview deep-linking

我的应用程序的主题是当用户点击应用程序中的按钮时,从我的应用程序打开一个网站到Chrome引擎。当我实现了点击事件的代码时,它工作正常,但是当我为我的应用程序实现了深层链接时,这就是我面临的问题。

当我点击按钮时,我的应用程序显示了这样的事情。当用户点击按钮时,网站必须在Chrome引擎中启动。

我的应用的MainActivity文件如下: -

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

    button = (Button) findViewById(R.id.button);
    intent = getIntent();
    action = intent.getAction();
    uri = intent.getData();
    if (uri != null) {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/")));
    }
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/")));
        }
    });
}

我的应用程序的Mainefest文件如下: -

  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <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:host="stackoverflow.com"
                android:scheme="http" />
        </intent-filter>
    </activity>
</application>

1 个答案:

答案 0 :(得分:1)

我修改了按钮点击事件中的代码,将Chrome的包名称设置为意图,并按照我的要求正常工作。

 Intent intent1 = new Intent(Intent.ACTION_VIEW);
            intent1.setData(Uri.parse("http://stackoverflow.com/"));
            intent1.setPackage("com.android.chrome");
            startActivity(intent1);