一、显式意图来跳转到第三方应用
/** * 这个方法会在点击按钮的时候执行 * @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); } }
Activity组件(二):通过显式意图和隐式意图来跳转至第三方应用
原文:https://www.cnblogs.com/yeyueweiliang/p/12274197.html