已解决
Android-Framework 不允许应用商场下载的应用安装,adb 、pm 可以正常安装
来自网友在路上 171871提问 提问时间:2023-10-23 01:48:40阅读次数: 71
最佳答案 问答题库718位专家为你答疑解惑
一、环境
高通865 Android10
二、情景
从framework层禁止应用商场下载的应用安装,adb 、pm 可以正常安装
三、代码实现
frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
@@ -35,6 +35,7 @@ import android.os.Build;import android.os.Bundle;import android.os.RemoteException;import android.util.Log;
+import android.provider.Settings;/*** Select which activity is the first visible activity of the installation and forward the intent to
@@ -46,10 +47,23 @@ public class InstallStart extends Activity {private static final String DOWNLOADS_AUTHORITY = "downloads";private IPackageManager mIPackageManager;private boolean mAbortInstall = false;
+ int installState = 0;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);
+ installState = Settings.Global.getInt(getContentResolver(), "installState", 0);
+ if(installState == 0){
+ finish();
+ return;
+ }
+
+ Settings.Global.putInt(getContentResolver(), "installState", 0);
+
+
+mIPackageManager = AppGlobals.getPackageManager();Intent intent = getIntent();String callingPackage = getCallingPackage();
frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -246,15 +246,6 @@ public class PackageInstallerActivity extends AlertActivity {}private void initiateInstall() {
- Log.d(TAG," initiateInstall uid : " + Process.myUid()/100000 );
- if((Process.myUid()/100000) != Process.ROOT_UID
- && (Process.myUid()/100000) != Process.SHELL_UID){
- return;
- }
-
-String pkgName = mPkgInfo.packageName;// Check if there is already a package on the device with this name// but it has been renamed to something else.
查看全文
99%的人还看了
猜你感兴趣
版权申明
本文"Android-Framework 不允许应用商场下载的应用安装,adb 、pm 可以正常安装":http://eshow365.cn/6-22071-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!