In this post we learn about download apk file from server or website and then install it Programmatically in Phone.
Sometimes we have to download external apk file from server and then install if downloading successfully finished.For this we use AsyncTask class for background process. So here is Code Snippet for this task.Lets Start :-
Before this we have to add these Permissions in Manifest.xml file :
DownloadNewVersion.java
and finally call this from wherever you want like this:
new DownloadNewVersion ().execute();
It will automatically download apk file from url and install if it finish its downloading task.
That's all you need Thank you for Your time .keep coding and Keep Sharing.
Sometimes we have to download external apk file from server and then install if downloading successfully finished.For this we use AsyncTask class for background process. So here is Code Snippet for this task.Lets Start :-
Before this we have to add these Permissions in Manifest.xml file :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
DownloadNewVersion.java
class DownloadNewVersion extends AsyncTask<String,Integer,Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
bar = new ProgressDialog(getActivity());
bar.setCancelable(false);
bar.setMessage("Downloading...");
bar.setIndeterminate(true);
bar.setCanceledOnTouchOutside(false);
bar.show();
}
protected void onProgressUpdate(Integer... progress) {
super.onProgressUpdate(progress);
bar.setIndeterminate(false);
bar.setMax(100);
bar.setProgress(progress[0]);
String msg = "";
if(progress[0]>99){
msg="Finishing... ";
}else {
msg="Downloading... "+progress[0]+"%";
}
bar.setMessage(msg);
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
bar.dismiss();
if(result){
Toast.makeText(getActivity().getApplicationContext(),"Done!!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getActivity().getApplicationContext(),"Error: Try Again", Toast.LENGTH_SHORT).show();
}
}
@Override
protected Boolean doInBackground(String... arg0) {
Boolean flag = false;
try {
URL url = new URL("http://urlname.com/ApkName.apk");
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(false);
c.connect();
String PATH = Environment.getExternalStorageDirectory()+"/Download/";
File file = new File(PATH);
file.mkdirs();
File outputFile = new File(file,"ApkName.apk");
if(outputFile.exists()){
outputFile.delete();
}
FileOutputStream fos = new FileOutputStream(outputFile);
InputStream is = c.getInputStream();
int total_size = 4581692;//size of apk
byte[] buffer = new byte[1024];
int len1 = 0;
int per = 0;
int downloaded=0;
while ((len1 = is.read(buffer)) != -1) {
fos.write(buffer, 0, len1);
downloaded +=len1;
per = (int) (downloaded * 100 / total_size);
publishProgress(per);
}
fos.close();
is.close();
OpenNewVersion(PATH);
flag = true;
} catch (Exception e) {
Log.e(TAG, "Update Error: " + e.getMessage());
e.printStackTrace();
flag = false;
}
return flag;
}
}
void OpenNewVersion(String location) {
Uri uri = FileProvider.getUriForFile(getActivity(), BuildConfig.APPLICATION_ID + ".provider",new File(location+"ApkName.apk"));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
getContext().startActivity(intent);
}
and finally call this from wherever you want like this:
new DownloadNewVersion ().execute();
It will automatically download apk file from url and install if it finish its downloading task.
That's all you need Thank you for Your time .keep coding and Keep Sharing.
Connect Play mi arıyorsunuz? Tıklayın: Connect TV Play
ReplyDeleteCan i do it using Apk Editor ?
ReplyDeleteIf yes please any video tutorial i really need that please.!
relly niche information about
ReplyDeleteapk download