当前位置: 首页>編程日記>正文

Android的当前应用启动第三方应用(跨软件启动页面)

Android的当前应用启动第三方应用(跨软件启动页面)

当我们需要在一个软件页面里调用另一个软件的某个页面,这时就需要跨软件启动页面,比如我们在自己的页面里调用支付宝或微信的页面。

1.方法1

第一步:在A软件的页面配置文件里添加android:exported=”true”

第二步:在A软件的页面配置文件里添加intent-filter标签,格式为:

<intent-filter >
<action android:name="命名"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

例:

第三步:在B软件里启动A软件里的页面,如

Intent i=new Intent("zhao.sizhe.a");
startActivity(i);

 

常用包名
// 微信 包名 com.tencent.mm //启动类名:com.tencent.mm.ui.LauncherUI

 //QQ 包名 com.tencent.mobileqq  //启动类名:com.tencent.mobileqq.activity.HomeActivity

//支付宝 包名:com.eg.android.AlipayGphone    //启动类名com.eg.android.AlipayGphone.FastStartActivity

//钉钉 包名:com.alibaba.android.rimet    //启动类名:com.alibaba.android.rimet.biz.home.activity.HomeActivity

//QQ空间 包名:com.qzone

//QQ手机管家 包名:com.tencent.qqpimsecure

//微博 包名:com.sina.weibo   //启动类名:com.sina.weibo.EditActivity

2.方法2

 通过app的包名和类名

 Intent intent = new Intent();              ComponentName comp = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.SplashActivity");//QQ的包名和类名// ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");//微信的包名和类名
// ComponentName comp = new ComponentName("com.eg.android.AlipayGphone", "com.eg.android.AlipayGphone.FastStartActivity");//支付宝intent.setComponent(comp);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
//finish();

3.方法3

通过包名

private void doStartApplicationWithPackageName(String packagename) {// 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等PackageInfo packageinfo = null;try {packageinfo = getPackageManager().getPackageInfo(packagename, 0);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}if (packageinfo == null) {return;}// 创建一个类别为CATEGORY_LAUNCHER的该包名的IntentIntent resolveIntent = new Intent(Intent.ACTION_MAIN, null);resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);resolveIntent.setPackage(packageinfo.packageName);// 通过getPackageManager()的queryIntentActivities方法遍历List<ResolveInfo> resolveinfoList = getPackageManager().queryIntentActivities(resolveIntent, 0);ResolveInfo resolveinfo = resolveinfoList.iterator().next();if (resolveinfo != null) {// packagename = 参数packnameString packageName = resolveinfo.activityInfo.packageName;// 这个就是我们要找的该APP的LAUNCHER的Activity[组织形式:packagename.mainActivityname]String className = resolveinfo.activityInfo.name;// LAUNCHER IntentIntent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);// 设置ComponentName参数1:packagename参数2:MainActivity路径ComponentName cn = new ComponentName(packageName, className);intent.setComponent(cn);startActivity(intent);}}

方法3.案例:

在Java文件添加以下代码:

package com.example.tiaozhuangapp;import androidx.appcompat.app.AppCompatActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;import java.util.List;public class MainActivity extends AppCompatActivity {public  Intent intent;public   ComponentName comp,comp1,comp2,comp3,comp4,comp5,comp6,comp7;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);supportRequestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);Button bt = findViewById(R.id.button);Button bt2 = findViewById(R.id.button2);Button bt3 = findViewById(R.id.button3);Button bt4 = findViewById(R.id.button4);Button bt5 = findViewById(R.id.button5);Button bt6 = findViewById(R.id.button6);Button bt7 = findViewById(R.id.button7);Button  bt8=findViewById(R.id.button8);Button bt13 = findViewById(R.id.button13);Button bt14 = findViewById(R.id.button14);Button bt15 = findViewById(R.id.button15);Button bt16 = findViewById(R.id.button16);Button bt17 = findViewById(R.id.button17);Button bt18 = findViewById(R.id.button18);Button bt19 = findViewById(R.id.button19);intent = new Intent();comp = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.SplashActivity");comp1 = new ComponentName("com.tencent.qqmusic", "com.tencent.qqmusic.activity.SplashActivity");comp2 = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");comp3 = new ComponentName("com.eg.android.AlipayGphone", "com.eg.android.AlipayGphone.FastStartActivity");bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//                Intent i=new Intent(MainActivity.this,MainActivity2.class);
//                startActivity(i);
//                Intent i=new Intent("a.b.c");//               startActivity(i);//                Intent intent = new Intent();
//                ComponentName comp = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.SplashActivity");//     ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");
//              ComponentName comp = new ComponentName("com.eg.android.AlipayGphone", "com.eg.android.AlipayGphone.FastStartActivity");
//                intent.setComponent(comp);
//                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//                startActivity(intent);
//                finish();doStartApplicationWithPackageName("com.tencent.mobileqq");}});bt2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.tencent.mm");}});bt3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.eg.android.AlipayGphone");}});bt4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.taobao.taobao");}});bt5.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.tencent.qqmusic");}});bt6.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.tencent.mtt");}});bt7.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.ss.android.ugc.aweme");}});bt8.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//   Intent i=new Intent(MainActivity.this,MainActivity2.class);//  startActivity(i);//  finish();}});bt13.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.tencent.qqlive");}});bt14.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.baidu.tieba");}});bt15.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.chaoxing.mobile");}});bt16.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("net.csdn.csdnplus");}});bt17.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.tencent.wework");}});bt18.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.kingsoft");}});bt19.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {doStartApplicationWithPackageName("com.kingsoft");}});}private void doStartApplicationWithPackageName(String packagename) {// 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等PackageInfo packageinfo = null;try {packageinfo = getPackageManager().getPackageInfo(packagename, 0);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}if (packageinfo == null) {return;}// 创建一个类别为CATEGORY_LAUNCHER的该包名的IntentIntent resolveIntent = new Intent(Intent.ACTION_MAIN, null);resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);resolveIntent.setPackage(packageinfo.packageName);// 通过getPackageManager()的queryIntentActivities方法遍历List<ResolveInfo> resolveinfoList = getPackageManager().queryIntentActivities(resolveIntent, 0);ResolveInfo resolveinfo = resolveinfoList.iterator().next();if (resolveinfo != null) {// packagename = 参数packnameString packageName = resolveinfo.activityInfo.packageName;// 这个就是我们要找的该APP的LAUNCHER的Activity[组织形式:packagename.mainActivityname]String className = resolveinfo.activityInfo.name;// LAUNCHER IntentIntent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);// 设置ComponentName参数1:packagename参数2:MainActivity路径ComponentName cn = new ComponentName(packageName, className);intent.setComponent(cn);startActivity(intent);}}}

界面布局代码(xml):

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:background="#121113"><Buttonandroid:id="@+id/button"android:layout_width="108dp"android:layout_height="53dp"android:text="打开QQ"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.061" /><Buttonandroid:id="@+id/button2"android:layout_width="108dp"android:layout_height="53dp"android:text="打开微信"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.184" /><Buttonandroid:id="@+id/button3"android:layout_width="108dp"android:layout_height="53dp"android:text="打开支付宝"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.317" /><Buttonandroid:id="@+id/button4"android:layout_width="108dp"android:layout_height="53dp"android:text="打开淘宝"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.461" /><Buttonandroid:id="@+id/button5"android:layout_width="108dp"android:layout_height="53dp"android:text="打开QQ音乐"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.595" /><Buttonandroid:id="@+id/button6"android:layout_width="108dp"android:layout_height="53dp"android:text="打开QQ浏览器"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.731" /><Buttonandroid:id="@+id/button7"android:layout_width="108dp"android:layout_height="53dp"android:text="打开抖音"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.108"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.884" /><Buttonandroid:id="@+id/button8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#02FFFFFF"android:text=">"android:textColor="#ffffff"android:textSize="30dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.95"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.976" /><Buttonandroid:id="@+id/button13"android:layout_width="108dp"android:layout_height="53dp"android:text="打开腾讯视频"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.061" /><Buttonandroid:id="@+id/button14"android:layout_width="108dp"android:layout_height="53dp"android:text="打开百度贴吧"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.184" /><Buttonandroid:id="@+id/button15"android:layout_width="108dp"android:layout_height="53dp"android:text="打开学习通"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.317" /><Buttonandroid:id="@+id/button16"android:layout_width="108dp"android:layout_height="53dp"android:text="打开csdn"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.461" /><Buttonandroid:id="@+id/button17"android:layout_width="108dp"android:layout_height="53dp"android:text="打开企业微信"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.595" /><Buttonandroid:id="@+id/button18"android:layout_width="108dp"android:layout_height="53dp"android:text="打开金山词霸"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.731" /><Buttonandroid:id="@+id/button19"android:layout_width="108dp"android:layout_height="53dp"android:text="打开流利说英语"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.613"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.884" /></androidx.constraintlayout.widget.ConstraintLayout>

 

 

 

 

 

 


https://www.fengoutiyan.com/post/14141.html

相关文章:

  • app嵌入第三方页面
  • 安卓如何设置用其他应用打开
  • 跨页面
  • 安卓app启动流程
  • 升级成功页面正在跳转
  • 跨界面
  • android开机自启动app
  • android监听第三方应用启动
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機