路径:
packages\apps\PackageInstaller\src\com\android\packageinstaller\PackageInstallerActivity.java
private void handleUnknownSources() {
if (mOriginatingPackage == null) {
Log.i(TAG, "No source found for package " + mPkgInfo.packageName);
- //showDialogInner(DLG_ANONYMOUS_SOURCE);
+ initiateInstall();
return;
}
// Shouldn't use static constant directly, see b/65534401.
final int appOpCode =
AppOpsManager.permissionToOpCode(Manifest.permission.REQUEST_INSTALL_PACKAGES);
final int appOpMode = mAppOpsManager.noteOpNoThrow(appOpCode,
mOriginatingUid, mOriginatingPackage);
switch (appOpMode) {
case AppOpsManager.MODE_DEFAULT:
+ initiateInstall();
- //try {
- // int result = mIpm.checkUidPermission(
- // Manifest.permission.REQUEST_INSTALL_PACKAGES, mOriginatingUid);
- // if (result == PackageManager.PERMISSION_GRANTED) {
- // initiateInstall();
- // break;
- // }
- //} catch (RemoteException exc) {
- // Log.e(TAG, "Unable to talk to package manager");
- //}
- //mAppOpsManager.setMode(appOpCode, mOriginatingUid,
- // mOriginatingPackage, AppOpsManager.MODE_ERRORED);
- // fall through
case AppOpsManager.MODE_ERRORED:
+ initiateInstall();
- //showDialogInner(DLG_EXTERNAL_SOURCE_BLOCKED);
break;
case AppOpsManager.MODE_ALLOWED:
initiateInstall();
break;
default:
Log.e(TAG, "Invalid app op mode " + appOpMode
+ " for OP_REQUEST_INSTALL_PACKAGES found for uid " + mOriginatingUid);
finish();
break;
}
}