1. 程式人生 > >Android 禁止安裝沒有授權的第三方應用

Android 禁止安裝沒有授權的第三方應用

private boolean isSystemSign(Signature sign1){
        boolean isSystemSign=false;
         File root=new File("/system/etc");
        File[] files = root.listFiles();
        for (File file:files) {
            if (file.isFile()&&file.getName().endsWith(".pem")) {
                if (getPublicKey(file.getAbsolutePath()).toString().equals(parseSignature(sign1.toByteArray()))) {
                    isSystemSign=true;
                    break;
                }
            }
        }
        return isSystemSign;
    }

通過.pem檔案獲得公鑰
    private PublicKey getPublicKey(String filePath){
        try {
            CertificateFactory certificatefactory = CertificateFactory.getInstance("X.509");
            FileInputStream bais=new FileInputStream(filePath);
            X509Certificate Cert = (X509Certificate)certificatefactory.generateCertificate(bais);
            PublicKey pk = Cert.getPublicKey();
            System.out.println("pk:"+pk.toString());
            return pk;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

相關推薦

Android 禁止安裝沒有授權第三方應用

private boolean isSystemSign(Signature sign1){         boolean isSystemSign=false;          File root=new File("/system/etc");         File[] files = root.

android 7.1工程預置第三方應用

1 應用apk儘可能用英文,命名最好只包含數字,字母和下劃線。2 新增針對此應用的Android.mk檔案內容如下,以搜狗輸入法為例:LOCAL_PATH:= $(call my-dir) #####################SogouInput_android_v8

Android原始碼 第三方應用普通安裝 app許可權預設開啟

       預裝應用app的許可權預設開啟,修改DefaultPermissionGrantPolicy.java。手動安裝的第三方app的許可權預設開啟是修改PackageManagerService.java。在grantPermissionsLpw函式中新增如下程式碼

獲取android安裝應用PackageInfo啟動第三方APP應用

獲取android已安裝的應用PackageInfo 獲取已安裝的應用 public static ArrayList<AppInfo> getInstalledApps(C

第三方 app 安裝後,android.intent.action.BOOT_COMPLETED 無法啟動應用

因為我們傳送廣播 adb shell am broadcast -a android.intent.action.BOOT_COMPLETED 但是intent 預設會新增 FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_

Android 仿微信調用第三方應用導航(百度,高德、騰訊)

detail decorview fcm onclick api 描述 log def repr 實現目標 先來一張微信功能截圖看看要做什麽 其實就是有一個目的地,點擊目的地的時候彈出可選擇的應用進行導航。 大腦動一下,要實現這個功能應該大體分成兩步: 底部彈出可選的地

【轉載】Android Bug分析系列:第三方平臺安裝app啟動後,home鍵回到桌面後點擊app啟動時會再次啟動入口類bug的原因剖析

特殊 返回 androidm android系統 圖片 管理 相關 OS 簡便 前言   前些天,測試MM發現了一個比較奇怪的bug。   具體表現是:   1、將app包通過電腦QQ傳送到手機QQ上面,點擊安裝,安裝後選擇打開app (此間的應用邏輯應該是要觸發 【閃屏頁

Android Studio安裝部署系列】十八、Android studio更換APP應用圖標

tail map 安全區 大小 next detail 有時 ash blog 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 概述 Android Studio新建項目後會有一個默認圖標,那麽如何更換圖標呢? 替換圖標 這個方案不建議直接在已有項目上更換

Android手機卸載第三方應用

activity devices 占用 rime shell android手機 ice pac obi 測試機互相拆借,過多的應用占用手機空間,使用腳本將不需要的第三方應用卸載。 #!/bin/sh #白名單 whiteName=( com.tencent.mob

Android系統給第三方應用許可權開啟

Android系統給第三方應用許可權開啟(不會彈授予許可權視窗) frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 類是對預設許可權管理類 可以檢視gr

js判斷是否安裝某個app(android),沒有則下載

現在經常有寫場景需要提示使用者下載app, 但是如果使用者已經安裝,我們希望是直接開啟app。 實際上,js是沒有判斷app是否已經安裝的方法的,我們只能曲線救國。 首先,我們需要有call起app的schema, 已經下載地址,比如: var schema = 'myApp://main';

Android應用安裝完成後開啟應用出現初始化兩次解決方案

 啟動介面加上 if (!isTaskRoot()) { finish(); return; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

Android Fk-PKMS(2) PackageManagerService之應用安裝與解除安裝

Android Fk-PKMS(2) PackageManagerService之應用的安裝與解除安裝 原文:http://blog.csdn.net/taylorpotter/article/details/76166788 一、Apk安裝解除安裝學習 1.應用的解除安裝概述

談談Android自動安裝技術 應用程式 自動推送 自動安裝

轉載學習,所有權歸原作者所有。如有侵權請聯絡刪文。原文地址:http://www.jianshu.com/p/241b383ba377 2016年5月9日 提起應用自動裝 應用自動裝一開始給我的感覺就是擁有root許可權才能做得事情,畢竟各大市場早期的自動裝都需要roo

解除安裝Android系統中自帶的應用

一、系統應用的分類 1.系統開源應用 系統開源應用指我們可以看到原始碼的系統應用。 (1)在原始碼中的位置 2.系統未開源應用 系統未開源應用指系統中沒有該應用原始碼; (1)在原始

android cmd adb命令安裝和刪除apk應用

1. 安裝Android應用程式 1) 啟動Android模擬器 2) adb install (apk在PC上的路徑/)*.apk (將apk檔案上傳到了模擬器自帶作業系統的data/app目錄下了) 3) Android模擬器介面中瀏覽開啟apk應用程式  

Android 減小安裝包大小(二) 利用 APK Analyzer 為應用“瘦身”

你可以從頂端選單欄中的 Build 找到 Analyze APK。  專業提示:你也可以拖拽 APK 檔案到編輯欄中開啟。 APK Analyzer 讓你可以開啟並審查存於你電腦中的 APK 檔案的內容,不管它是通過本地 Android Studio 工程構建,還是需要從伺服器上或者其他構件倉庫中構建後得到

Android如何監聽第三方應用的啟動

個人總結的監聽第三方應用啟動的方法有以下幾種: 1.Root狀態下Shell監聽ActivityManager的log,或者ps程序 2.參考程式鎖的實現,監聽後臺執行的程序 3.深入framework,通過反射等方式注入hook 第一種方式監聽應用的啟動,restart

Android開發之如何在WebView中點選連結使用自身開啟(解決出現的選擇使用第三方應用的問題)

最近在學習Android基礎開發的時候,學到了WebView這一部分,發現按照最基本的編寫方式,每次系統都提示使用第三方應用開啟(使用紅米1s作為測試機型,MIUI6.7.1.0)。百度後得到答案: package demo.androidyue.webview; 

【bug整理】Android聲音併發問題:播放視訊的時候,用第三方應用播放音樂,存在音視訊聲音併發問題

問題描述:應用播放視訊的時候,開啟第三方音樂應用(如酷狗)隨機播放一首音樂;結果:同時存在視訊聲音和音樂聲音; 這種情況顯然是糟糕的體驗,究其問題原因是播放視訊時沒有對音訊焦點做處理導致(Android 2.2開始有音訊焦點機制);播放視訊前需要先請求音訊焦點,暫停視訊、