一、顯式意圖來跳轉到第三方應用
/** * 這個方法會在點擊按鈕的時候執行 * @param view */ public void skip2Browser(View view){ Log.d(TAG,"skp2Browser"); Intent intent =new Intent(); /** * 組件的名稱,也就是ComponentName =包名/類的路徑名稱,如包名一直,類的路徑名稱可以省略包名 * 如:com.google.android.as/com.google.android.apps.miphone.aiai.app.AiAiPredictionService */ //第一種寫法 // intent.setClassName("com.google.android.as","com.google.android.apps.miphone.aiai.app.AiAiPredictionService"); //第二種寫法 ComponentName componentName=new ComponentName("com.google.android.as","com.google.android.apps.miphone.aiai.app.AiAiPredictionService"); intent.setComponent(componentName); startActivity(intent); }
點擊按鈕
實現跳轉
二、隱式意圖來跳轉到第三方應用
/** * 下面通過隱式意圖來跳轉到第三方應用 * 1、創建Intent對象 * 2、第二步給intent對象,設置Action、category,5.1以上要設置包名 * 3、startActivity(intent) * @param view */ public void skip2BrowserInvisible(View view) { Intent intent =new Intent(); intent.setAction("android.intent.action.SEARCH"); intent.addCategory("android.intent.category.DEFAULT"); intent.setPackage("com.google.android.as"); startActivity(intent); }
activity_skip2browser.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> <Button android:layout_width="match_parent" android:text="跳轉到瀏覽器(顯式)" android:onClick="skip2BrowserVisible" android:layout_centerInParent="true" android:layout_height="wrap_content"> </Button> <Button android:layout_width="match_parent" android:text="跳轉到瀏覽器(隱式)" android:onClick="skip2BrowserInvisible" android:layout_centerInParent="true" android:layout_height="wrap_content"> </Button> </LinearLayout>
Skip2BrowserActivity.java
package com.example.activitydemo; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import androidx.annotation.Nullable; public class Skip2BrowserActivity extends Activity { private static final String TAG = "Skip2BrowserActivity"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_skip2browser); } /** * 這個方法會在點擊按鈕的時候執行 * @param view */ public void skip2BrowserVisible(View view){ Log.d(TAG,"skp2Browser"); Intent intent =new Intent(); /** * 組件的名稱,也就是ComponentName =包名/類的路徑名稱,如包名一直,類的路徑名稱可以省略包名 * 如:com.google.android.as/com.google.android.apps.miphone.aiai.app.AiAiPredictionService */ //第一種寫法 // intent.setClassName("com.google.android.as","com.google.android.apps.miphone.aiai.app.AiAiPredictionService"); //第二種寫法 ComponentName componentName=new ComponentName("com.google.android.as","com.google.android.apps.miphone.aiai.app.AiAiPredictionService"); intent.setComponent(componentName); startActivity(intent); } /** * 下面通過隱式意圖來跳轉到第三方應用 * 1、創建Intent對象 * 2、第二步給intent對象,設置Action、category,5.1以上要設置包名 * 3、startActivity(intent) * @param view */ public void skip2BrowserInvisible(View view) { Intent intent =new Intent(); intent.setAction("android.intent.action.SEARCH"); intent.addCategory("android.intent.category.DEFAULT"); intent.setPackage("com.google.android.as"); startActivity(intent); } }