zoukankan      html  css  js  c++  java
  • 关于android 怎样安装 assets文件下的apk

    在自己的app中安装assets文件夹下的apk文件


    public class MainActivity extends Activity {
    	Context mContext;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		mContext = this;
    		//Toast.makeText(this, ""+Environment.getExternalStorageDirectory().getAbsolutePath(), 0).show();
    		if(copyApkFromAssets(this, "test.apk", Environment.getExternalStorageDirectory().getAbsolutePath()+"/test.apk")){
    			Builder m = new AlertDialog.Builder(mContext)
    				.setIcon(R.drawable.ic_launcher).setMessage("是否安装?")
    				.setIcon(R.drawable.ic_launcher)
    				.setPositiveButton("yes", new OnClickListener() {
    				@Override
    				public void onClick(DialogInterface dialog, int which) {
    				Intent intent = new Intent(Intent.ACTION_VIEW);
    				intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    				intent.setDataAndType(Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath()+"/test.apk"),
    											           "application/vnd.android.package-archive");
    										mContext.startActivity(intent);
    										}
    									});
    			m.show();
    		}
    		
    	}
    	 public boolean copyApkFromAssets(Context context, String fileName, String path) {
    		 boolean copyIsFinish = false;
    		 try {
    			 InputStream is = context.getAssets().open(fileName);
    			 File file = new File(path);
    			 file.createNewFile();
    			 FileOutputStream fos = new FileOutputStream(file);
    			 byte[] temp = new byte[1024];
    			 int i = 0;
    			 while ((i = is.read(temp)) > 0) {
    				 fos.write(temp, 0, i);
    			 }
    			 fos.close();
    			 is.close();
    			 copyIsFinish = true;
    		 } catch (IOException e) {
    			 e.printStackTrace();
    		 }
    		 return copyIsFinish;
    	 }
    }
    


  • 相关阅读:
    Mybatis-配置解析
    Mybatis-CRUD
    ExtJS3.4升级ExtJS4.2的问题汇总(转)
    Extjs视频
    Freemarker语法
    JSP 语法/标签
    android 入门-ID
    Win10 VS2015 社区版切换到VS2013社区版 进行维护之前的项目
    Win10 AppBar
    Win10 保存Element到相册
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5075809.html
Copyright © 2011-2022 走看看