Android O 设备不允许安装第三方APP

  1. 屏蔽手动安装APK
    vendor/mediatek/proprietary/packages/apps/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
public class InstallStart extends Activity {
         ......
         if (nextActivity != null) {
-            startActivity(nextActivity);
+            //startActivity(nextActivity);
+            Toast.makeText(InstallStart.this,R.string.not_allowed_install_apk,Toast.LENGTH_SHORT).show();
+            Intent result = new Intent();
+            result.putExtra(Intent.EXTRA_INSTALL_RESULT,
+                    PackageManager.INSTALL_FAILED_INVALID_URI);
+            setResult(RESULT_FIRST_USER, result);
         }
         finish();
     }

  1. 禁止ADB或第三方商店下载安装
    frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
+    private  boolean APK_INSTALL_FINISH = false;
 class PackageHandler extends Handler {
	 	...
	 	 void doHandleMessage(Message msg) {
            switch (msg.what) {
                case INIT_COPY: {
					//add
                	if(APK_INSTALL_FINISH && getNvRam()){
                    	return;
                    }
					//end
                    HandlerParams params = (HandlerParams) msg.obj;
                    int idx = mPendingInstalls.size();
public PackageManagerService(Context context, Installer installer,
            boolean factoryTest, boolean onlyCore) {
            ......
             sMtkSystemServerIns.addBootEvent("Android:PMS_scan_END");
            Slog.i(TAG, "Time to scan packages: "
                    + ((SystemClock.uptimeMillis()-startTime)/1000f)
                    + " seconds");
             APK_INSTALL_FINISH = true;//add
            // If the platform SDK has changed since the last time we booted,
            // we need to re-grant app permission to catch any new ones that
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最乱纷飞的code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值