关于android 如何安装 assets文件下的apk

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

public class MainActivity extends Activity {Context mContext;@Overrideprotected 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() {@Overridepublic 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; }}

,不要忘本,任何时候,任何事情。

关于android 如何安装 assets文件下的apk

相关文章:

你感兴趣的文章:

标签云: