亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android跳轉三方應用實例代碼

 更新時間:2021年12月27日 11:17:18   作者:Modu_Liu  
大家好,本篇文章主要講的是Android跳轉三方應用實例代碼,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

前言

老了,老了,那天有位小同事問我Android跳轉三方應用時有什么要注意的?是否可以直接跳?如何傳遞參數過去? 嗯… 我竟然說需要root或者三方授權,尷尬了…

Android四大組件都支持IPC通信,而Activity IPC通信主要體現在通過Intent啟動各種系統(tǒng)功能,應用等;其實在此之前已經有很多優(yōu)秀的blog進行了總結,不過各有不同,我僅以我的方式記錄一下 …

如何跳轉三方應用?跳轉三方應用跳轉三方應用 + 指定頁面(Activity) 如何獲取手機上已有的app包名與啟動頁(Activity)?獲取手機中安裝的app包名、啟動Activity獲取手機app列表興趣分析 如何在項目中進行實戰(zhàn)演練?

如何跳轉三方應用?

這里指的三方應用可以理解為自身外的其余app,例如QQ、微信、支付寶、淘寶等app ~

主要通過 Activity Intent + PackageManager啟動三方App,主要在于getLaunchIntentForPackage方法,如果理解通過Launch啟動App的話,秒懂 ~

跳轉三方應用

核心代碼

    PackageManager packageManager = this.getPackageManager();
    Intent intent = packageManager.getLaunchIntentForPackage("項目包名");
    startActivity(intent);

封裝方法

    /**
     * @param context     上下文
     * @param packageName 包名
     */
    public void skipOtherApp(Context context, String packageName) {
        PackageManager packageManager = context.getPackageManager();
        Intent intent = packageManager.getLaunchIntentForPackage(packageName);
        startActivity(intent);
    }

跳轉三方應用 + 指定頁面(Activity)

跳轉三方應用的具體界面與上方方式稍有不同,主要通過ComponentName類來幫助打開另一個應用的Activity或者Service等,具體通過Intent.setComponent方法實現。

核心代碼

    Intent intent = new Intent();
    //這里跳轉的是淘寶的啟動頁
    ComponentName comp = new ComponentName("com.taobao.taobao", "com.taobao.tao.welcome.Welcome");
    intent.setComponent(comp);
    //為三方的activity新開任務棧
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

方法封裝

    /**
     * @param packageName   包名
     * @param activityClass 跳轉界面的activity
     */
    public void skipOtherAppActivity(String packageName, String activityClass) {
        Intent intent = new Intent();
        //ComponentName類主要是用來幫助打開另一個應用的Activity或者Service等,通過Intent.setComponent方法實現
        ComponentName comp = new ComponentName(packageName, activityClass);
        intent.setComponent(comp);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }

如何獲取手機上已有的app包名與啟動頁(Activity)?

獲取手機中安裝的app包名、啟動Activity

    /**
     * 通過PackageManager獲取手機內所有app的包名和啟動頁(首個啟動Activity的類名)
     * 可根據自己業(yè)務需求封裝方法的返回體,可以是單app信息,也可以是appList
     */
    public void getAllApp(Context context) {
        Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        PackageManager packageManager = context.getPackageManager();
        List<ResolveInfo> appsInfo = packageManager.queryIntentActivities(intent, 0);
        Collections.sort(appsInfo, new ResolveInfo.DisplayNameComparator(packageManager));
        for (ResolveInfo info : appsInfo) {
            String pkg = info.activityInfo.packageName;
            String cls = info.activityInfo.name;
            Log.e("app_info", "pkg:" + pkg + " —— cls:" + cls);
        }
    }

查詢效果

在這里插入圖片描述

獲取手機app列表

方法封裝(或許有點畫蛇添足了,就當做下次copy元素吧)

    /**
     * 獲取手機app列表
     */
    public List<ResolveInfo> getAllAppList(Context context) {
        Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        PackageManager packageManager = context.getPackageManager();
        List<ResolveInfo> appsInfo = packageManager.queryIntentActivities(intent, 0);
        Collections.sort(appsInfo, new ResolveInfo.DisplayNameComparator(packageManager));
        return appsInfo;
    }

興趣分析

看圖說話可以分析出,主要是通過PackageManagerCategory為條件,過濾出android.intent.category.LAUNCHER的 app

在這里插入圖片描述

看看ResolveInfo

在這里插入圖片描述

看看ActivityInfo(我沒去找線上源碼,本地也沒下載… 所以看不全)

關于每個app的基本信息,一般都在ActivityInfo中,有興趣的可以去源碼文檔看一下 ~

在這里插入圖片描述

總結

到此這篇關于Android跳轉三方應用實例代碼的文章就介紹到這了,更多相關Android跳轉三方應用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • android自定義Dialog彈框和背景陰影顯示效果

    android自定義Dialog彈框和背景陰影顯示效果

    這篇文章主要為大家詳細介紹了android自定義Dialog彈框和背景陰影顯示效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Android利用CursorLoader實現短信驗證碼自動填寫

    Android利用CursorLoader實現短信驗證碼自動填寫

    這篇文章主要為大家詳細介紹了Android利用CursorLoader實現短信驗證碼自動填寫的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 一文詳解Android?FCM接入

    一文詳解Android?FCM接入

    這篇文章主要為大家介紹了Android?FCM接入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Android仿新浪微博分頁管理界面(3)

    Android仿新浪微博分頁管理界面(3)

    這篇文章主要為大家詳細介紹了Android仿新浪微博分頁管理界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 詳解Android 8.1.0 Service 中 彈出 Dialog的方法

    詳解Android 8.1.0 Service 中 彈出 Dialog的方法

    這篇文章主要介紹了Android 8.1.0 Service 中怎么彈出 Dialog問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 5步學會使用VideoView播放視頻

    5步學會使用VideoView播放視頻

    這篇文章主要為大家詳細介紹了5步學會使用VideoView播放視頻的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android實現自定義加載框的代碼示例

    Android實現自定義加載框的代碼示例

    本篇文章主要介紹了Android實現自定義加載框的代碼示例,App在與服務器進行網絡交互的時候,有個提示加載框,有興趣的可以了解一下。
    2017-02-02
  • Kotlin中常見內聯擴展函數的使用方法教程

    Kotlin中常見內聯擴展函數的使用方法教程

    在Kotlin中,使用inline修飾符標記內聯函數,既會影響到函數本身, 也影響到傳遞給它的Lambda表達式,這兩者都會被內聯到調用處。下面這篇文章主要給大家介紹了關于Kotlin中常見內聯擴展函數的使用方法,需要的朋友可以參考下。
    2017-12-12
  • Android?Camera實現旋轉角度

    Android?Camera實現旋轉角度

    這篇文章主要為大家詳細介紹了Android?Camera實現旋轉角度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Android自定義View實現遙控器按鈕

    Android自定義View實現遙控器按鈕

    這篇文章主要為大家詳細介紹了Android自定義View實現遙控器按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論