html5中文学习网

您的位置: 首页 > android » 正文

java实现静默安装apk_Android

[ ] 已经帮助:人解决问题

静默安装就是偷偷的把一个应用安装到手机上,就是屏蔽确认框,通过反射xXXHTML5中文学习网 - HTML5先行者学习网

只能写个主要的代码,这个是在linux编译用到,因为静默安装需要调用系统服务,在源码下编译,我也是搞了好久xXXHTML5中文学习网 - HTML5先行者学习网

InstallActivity.javaxXXHTML5中文学习网 - HTML5先行者学习网

package com.smart.Installback; import java.io.File;  //import com.android.packageinstaller.R; import android.app.Activity;import android.os.Bundle;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.content.pm.IPackageInstallObserver;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView; public class InstallActivity extends Activity {  /** Called when the activity is first created. */  private Button btn=null;  private Button btn2=null;  private final int INSTALL_COMPLETE = 1;  final static int SUCCEEDED = 1;  final static int FAILED = 0;    public void onCreate(Bundle savedInstanceState){    super.onCreate(savedInstanceState);         setContentView(R.layout.main);    String fileName = Environment.getExternalStorageDirectory() + "/UC.apk";       Uri uri = Uri.fromFile(new File(fileName));       int installFlags = 0;      PackageManager pm = getPackageManager();      try {        PackageInfo pi = pm.getPackageInfo("com.uc.browser",             PackageManager.GET_UNINSTALLED_PACKAGES);        if(pi != null) {          installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;        }      } catch (NameNotFoundException e) {      }  //      String installerPackageName = getIntent().getStringExtra(//          Intent.EXTRA_INSTALLER_PACKAGE_NAME);      PackageInstallObserver observer = new PackageInstallObserver();      pm.installPackage(uri, observer, installFlags, "com.uc.browser");  }     private OnClickListener listener2=new OnClickListener(){    public void onClick(View v) {      String fileName = Environment.getExternalStorageDirectory() + "/UC.apk"; ivate       Uri uri = Uri.fromFile(new File(fileName));       int installFlags = 0;      PackageManager pm = getPackageManager();      try {        PackageInfo pi = pm.getPackageInfo("com.uc.browser",             PackageManager.GET_UNINSTALLED_PACKAGES);        if(pi != null) {          installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;        }      } catch (NameNotFoundException e) {      }                //      String installerPackageName = getIntent().getStringExtra(//          Intent.EXTRA_INSTALLER_PACKAGE_NAME);             PackageInstallObserver observer = new PackageInstallObserver();      pm.installPackage(uri, observer, installFlags, "com.uc.browser");      }  };     class PackageInstallObserver extends IPackageInstallObserver.Stub {    public void packageInstalled(String packageName, int returnCode) {      Message msg = mHandler.obtainMessage(INSTALL_COMPLETE);      msg.arg1 = returnCode;      mHandler.sendMessage(msg);    }  };     private Handler mHandler = new Handler() {    public void handleMessage(Message msg) {      switch (msg.what) {        case INSTALL_COMPLETE:          // Update the status text          // Show the ok button          int centerTextLabel;          Drawable centerTextDrawable = null;          if(msg.arg1 == SUCCEEDED) {                       } else {}          if (centerTextDrawable != null) {}           break;        default:          break;      }    }  };  }

main.xmlxXXHTML5中文学习网 - HTML5先行者学习网

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  > </LinearLayout>

以上所述就是本文的全部内容了,希望大家能够喜欢。xXXHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助