关于android 如何安装 assets文件下的apk
来源:互联网 发布:intent 传递数据 编辑:程序博客网 时间:2024/05/18 00:57
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;
}
}
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;
}
}
0 0
- 关于android 如何安装 assets文件下的apk
- 关于android 如何安装 assets文件下的apk .
- 关于android 如何安装 assets文件下的apk
- 关于android 如何安装 assets文件下的apk
- 关于android 如何安装 assets文件下的apk
- 关于android 如何安装 assets文件下的apk
- android 安装assets下的apk
- 如何安装assets下apk
- Android 安装assets目录下的其他apk
- assets目录下apk的安装
- Android 的apk在覆盖安装的时如何重新读取raw或assets目录下的数据库
- 纠结的android apk文件assets丢失
- Android WebView如何加载assets下的html文件
- Xamarin.Android 如何使用Assets目录下的文件
- 如何利用android访问assets下的文件或文件夹
- Android:从assets资源目录下安装apk
- Android:从assets资源目录下安装apk
- android studio 安装assets目录下的apk包出现解析错误的问题
- mac下python连接mysql数据库遇到的问题及解决
- Android 4.2中对WebView.addJavascriptInterface()的修改
- 安装Kali Linux操作系统Kali Linux无线网络渗透
- JS快速获取图片宽高的方法
- 为什么说多用组合,少用继承?
- 关于android 如何安装 assets文件下的apk
- marvel r8782 ap模式编译
- UITextView如何关闭键盘
- zigbee 设备网络启动(非自动)
- intellij IDEA与eclipse的对比以及IDEA用法介绍
- 关于大型网站技术演进的思考
- java rmi (1)Java RMI入门
- make clean与make distclean的区别
- android开机启动无界面后台程序 (安卓开机会发送一个系统广播)