admin管理员组文章数量:1558103
android系统安装应用有四种方式
1.系统应用安装――开机时完成,没有安装界面
2.网络下载应用安装――通过market应用完成,没有安装界面
3.ADB工具安装――没有安装界面。
4.第三方应用安装――通过现有的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。
1.禁止ADB和应用商店安装由“frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java”来控制安装
需要屏蔽的话,只需要修改这个文件里边的代码。
//禁止第三方应用安装的标志
private boolean APK_INSTALL_FINISH = SystemProperties.getBoolean("persist.sys.horion.apk.install", false);
class PackageHandler extends Handler{
.......
void doHandleMessage(Message msg) {
switch (msg.what) {
case INIT_COPY: {
++++ if(APK_INSTALL_FINISH){
++++ return ;
++++ }
HandlerParams params = (HandlerParams) msg.obj;
int idx = mPendingInstalls.size();
if (DEBUG_INSTALL) Slog.i(TAG, "init_copy idx=" + idx + ": " + params);
........
}
}
}
}
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;
// 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
}
在构造函数中这个位置将APK_INSTALL_FINISH设置为true,此时系统内置应用完成了安装。PackageManagerService.java PackageHandler中做处理,如果APK_INSTALL_FINISH为true 禁止安装。至此,就完成了禁止禁止ADB和应用商店安装的屏蔽
2.禁止手动安装
手动安装由\packages\apps\PackageInstaller完成,禁止手动安装只需要在这里边处理,在InstallStart.java中
//禁止第三方应用安装的标志
private boolean APK_INSTALL_FINISH = SystemProperties.getBoolean("persist.sys.horion.apk.install", false);
public class InstallStart extends Activity {
........
if (nextActivity != null) {
++++ if(!APK_INSTALL_FINISH) {
// startActivity(nextActivity);
++++ Toast.makeText(InstallStart.this, android.R.string.prohibit_install_message, Toast.LENGTH_LONG).show();
++++ Intent result = new Intent();
++++ result.putExtra(Intent.EXTRA_INSTALL_RESULT,
++++ PackageManager.INSTALL_FAILED_INVALID_URI);
++++ setResult(RESULT_FIRST_USER, result);
++++ } else{
startActivity(nextActivity);
}
}
finish();
}
.......
}
完成对手动安装apk的屏蔽
版权声明:本文标题:Android禁止安装三方应用(屏蔽所有安装应用的方式) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727320386a1108256.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论