Android 之版本更新

2021-07-09 02:34:52 字數 3685 閱讀 6665

/**

* 查詢手機安裝的應用

* * @param context

* @return    */

packagemanager pmanager = context.getpackagemanager();

listpaklist = pmanager.getinstalledpackages(0);

for (int i = 0; i < paklist.size(); i++) }}

/*** 判斷是否安裝過此應用

* * @param context  上下文

* @param packagename  應用的包名  清單檔案

*          

* @return*/

packageinfo pa = null;

for (int i = 0; i < packages.size(); i++)

}return false;}

/* 解除安裝

* packagename   應用的包名 清單檔案

*  * */  

public static void uninstallapk(context context, string packagename)  

//得到當前應用的versionname  versioncode

private string getversionname(context context) catch (namenotfoundexception e)

return versionname;}

操作步驟:

1.首先判斷是否安裝過應用

2.如果安裝過應用,就解除安裝

private void

getupate

()});

builder.setpositivebutton("馬上跟新", new alertdialog.onclicklistener()

});builder.show();}

public class downloadservice extends service

};};

public ibinder onbind(intent arg0)

@override

public int onstartcommand(intent intent, int flags, int startid) else

}return super.onstartcommand(intent, flags, startid);

}/**

* 初始化子執行緒

* @author dong**/

class initthread extends thread

public void run()

if(length <= 0)

file dir = new file(download_path);

if(!dir.exists())

filename = this.url.substring(this.url.lastindexof("/")+1, this.url.length());

if(filename==null && textutils.isempty(filename) && !filename.contains(".apk"))

file file = new file(dir, filename);

raf = new randomaccessfile(file, "rwd");

//設定檔案長度

raf.setlength(length);

mhandler.obtainmessage(msg_init,length).sendtotarget();

} catch (exception e) finally catch (exception e) }}

}/**

* @author dong**/

class downloadthread extends thread

@override

public void run()

}mhandler.sendemptymessage(download_success);

}else

} catch (exception e) finally

if(raf != null)

if(input != null )

} catch (ioexception e) }}

}@suppresswarnings("deprecation")

public void createnotification()

private void notifynotification(long percent,long length)

/*** 安裝apk

** @param context 上下文

* @param file    apk檔案

*/public static void installapk(context context, file file) }

notification_item.xml:

<?xml version="1.0" encoding="utf-8"?>

android:layout_width="match_parent"

android:layout_height="60dp"

android:orientation="horizontal">

android:layout_width="60dp"

android:layout_height="60dp"

android:background="@drawable/ic_launcher"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

>

android:layout_centervertical="true"

android:padding="5dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

android:id="@+id/tv_progress"

android:layout_alignparentright="true"

android:padding="5dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="0%"

/>

android:padding="5dp"

android:id="@+id/progress"

style="?android:attr/progressbarstylehorizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content" />

最後清單檔案註冊和新增許可權:

android 版本更新之JAR的應用

public void requestdata catch exception e start 解析獲取到輸入流 param inputstream return public static update parse inputstream inputstream else if update nu...

Android如何更新app的版本(中級)

原始出處 作者資訊和本宣告。否則將追究法律責任。版本更新 看看我們要用到哪些技術 1 自定義通知欄 3 asynctask 4 重新整理通知欄中的進度條 5 執行 apk安裝的隱士意圖 6 toast 7簽名 安裝時系統會自動檢測簽名是否一致 8獲得服務端和客戶端的版本號 上 4 隱士意圖來安裝 首...

Android實現版本更新和自動安裝

直接執行的專案和打包的專案apk簽名不同,所以不能直接用開發工具執行專案進行版本更新.需要用apk打包安裝的形式更新,否則會 提示 簽名衝突 無法完成覆蓋安裝 版本更新 public class splashactivity extends activity 初始化資料 private void i...