当前位置: 代码迷 >> Android >> 关于android 怎么安装 assets文件下的apk
  详细解决方案

关于android 怎么安装 assets文件下的apk

热度:30   发布时间:2016-04-28 04:35:12.0
关于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;	 }}


1楼yanglfree前天 00:41
good
  相关解决方案