diff --git a/packages/apps/PackageInstaller/src/com/android/packageinstaller/InstallAppProgress.java b/packages/apps/PackageInstaller/src/com/android/packageinstaller/InstallAppindex 49d91cf..bbc78f5 100755--- a/packages/apps/PackageInstaller/src/com/android/packageinstaller/InstallAppProgress.java+++ b/packages/apps/PackageInstaller/src/com/android/packageinstaller/InstallAppProgress.java@@ -58,6 +58,7 @@ import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.List;+import android.content.ComponentName;/**  * This activity corresponds to a download progress screen that is displayed@@ -101,6 +102,29 @@ public class InstallAppProgress extends Activity implements View.OnClickListener                         clearCachedApkIfNeededAndFinish();                         return;                     }+                    if (getIntent().getBooleanExtra("AutoInstall", false) && msg.arg1 == PackageManager.INSTALL_SUCCEEDED) {+                        Intent  mIntent = getPackageManager().getLaunchIntentForPackage(+                                mAppInfo.packageName);+                        boolean enabled = false;+                        if(mIntent != null) {+                            List list = getPackageManager().+                                    queryIntentActivities(mIntent, 0);+                            if (list != null && list.size() > 0) {+                                enabled = true;+                            }+                        }+                        if (enabled && "com.antutu.benchmark.full".equals(mAppInfo.packageName)) {//如果自动安装的apk是antutufull(3dTest),则>安装完成后自动启动测试+                            Intent intent = new Intent("com.antutu.benchmark.full.MAROONED_RUN");+                            intent.setFlags(335544320);+                            intent.setComponent(new ComponentName("com.antutu.benchmark.full", "com.antutu.benchmark.full.UnityPlayerActivity"));+                            intent.putExtra("uid", "8939");+                            startActivity(intent);+                            //startActivity(mIntent);+                        }+                         finish();+                        return;+                    }+                     // Update the status text                     mProgressBar.setVisibility(View.GONE);                     // Show the ok buttondiff --git a/packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java b/packages/apps/PackageInstaller/src/com/android/packageinstaller/Packindex de68582..b85b767 100644--- a/packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java+++ b/packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java@@ -120,6 +120,35 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen     private static final int DLG_NOT_SUPPORTED_ON_WEAR = DLG_BASE + 7;     private void startInstallConfirm() {+          if(mAutoInstall)+        {+                    Intent newIntent = new Intent();+                    newIntent.putExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO,+                                                     mPkgInfo.applicationInfo);+                    newIntent.setData(mPackageURI);+                    newIntent.setClass(this, InstallAppProgress.class);+                    String installerPackageName = getIntent().getStringExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME);+                    if (mOriginatingURI != null) {+                        newIntent.putExtra(Intent.EXTRA_ORIGINATING_URI, mOriginatingURI);+                    }+                    if (mReferrerURI != null) {+                        newIntent.putExtra(Intent.EXTRA_REFERRER, mReferrerURI);+                    }+                    if (mOriginatingUid != VerificationParams.NO_UID) {+                        newIntent.putExtra(Intent.EXTRA_ORIGINATING_UID, mOriginatingUid);+                    }+                    if (installerPackageName != null) {+                        newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME,installerPackageName);+                    }+                    if (getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false)) {+                        newIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);+                        newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);+                    }+                    newIntent.putExtra("AutoInstall", true);+                    if(localLOGV) Log.i(TAG, "downloaded app uri="+mPackageURI);+                    startActivity(newIntent);+                    finish();+        }else{         ((TextView) findViewById(R.id.install_confirm_question))                 .setText(R.string.install_confirm_question);         findViewById(R.id.spacer).setVisibility(View.GONE);@@ -217,6 +246,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen             });         }     }+}     private void showDialogInner(int id) {         // TODO better fix for this? Remove dialog so that it gets created again@@ -402,6 +432,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen                 ? RESULT_OK : RESULT_FIRST_USER, result);     }+    boolean mAutoInstall = false;     @Override     protected void onCreate(Bundle icicle) {         super.onCreate(icicle);@@ -433,6 +464,8 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen             packageUri = intent.getData();             mOriginatingURI = intent.getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);             mReferrerURI = intent.getParcelableExtra(Intent.EXTRA_REFERRER);+            mAutoInstall = intent.getBooleanExtra("AutoInstall", false);+            Log.v(TAG,"mAutoInstall:"+ mAutoInstall);         }         // if there's nothing to do, quietly slip into the ether

更多相关文章

  1. Android 单元测试之JUnit和Mockito
  2. Android单元测试初探Instrumentation
  3. Android渗透测试Android渗透测试入门教程大学霸
  4. Android单元测试
  5. ch023 Android ContentProvider(第一部分,单元测试)
  6. [android]android自动化测试七之动态AVD硬件参数
  7. ANDROID 单元测试

随机推荐

  1. Android/Java中的常用签名算法
  2. 今天学习到了那些东西
  3. 在Android studio 项目中使用 9patch常见
  4. android中Rect类的使用
  5. Android 动画监听器
  6. 详解Android读取本地图片和网络图片的方
  7. Android Intent 序列化和反序列化
  8. android ui进阶教程
  9. (Android)画个钟看看
  10. Android 开发-Android studio 笔记