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;
    	 }
    }
    


  • 相关阅读:
    CodeForces 705A(训练水题)
    --hdu 2602 Bone Collector (01背包)
    --Dirring love 音乐(01背包问题)
    简单的网络拓扑
    --hdu 1231 最大连续子序列(动态规划)
    hdu 1003 Max Sum(动态规划)
    hdu 1284 钱币兑换问题(动态规划)
    hdu 1176 免费馅饼(动态规划)
    hdu 2084 数塔(动态规划)
    --hdu 2124 Repair the Wall(贪心)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5075809.html
Copyright © 2011-2022 走看看