回答
我認爲最簡單的事情將有自己的服務器上的Web服務,它返回當前的版本號,不幸的是你需要更新此版本號的任何時間更新在商店的應用程序。
THX,把我寧願找動態解決方案, –
private class GetVersionCode extends AsyncTask<Void, String, String> {
@Override
protected String doInBackground(Void... voids) {
String newVersion = null;
try {
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + SplashActivity.this.getPackageName() + "&hl=it")
.timeout(30000)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.referrer("http://www.google.com")
.get()
.select("div[itemprop=softwareVersion]")
.first()
.ownText();
return newVersion;
} catch (Exception e) {
return newVersion;
}
}
@Override
protected void onPostExecute(String onlineVersion) {
super.onPostExecute(onlineVersion);
String currentVersion = null;
try {
currentVersion = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (onlineVersion != null && !onlineVersion.isEmpty()) {
if (Float.valueOf(currentVersion) < Float.valueOf(onlineVersion)) {
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(SplashActivity.this);
alertDialogBuilder.setTitle("Product Update");
alertDialogBuilder.setMessage("A new version is available. Would you like to Upgrade now? (Current: "+currentVersion+" Latest: "+onlineVersion+")");
alertDialogBuilder.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+SplashActivity.this.getPackageName())));
}
});
alertDialogBuilder.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialogBuilder.setCancelable(true);
finish();
loginUserCheck();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
你可以請添加更多的描述 –
你只要把你的應用程序的新版本從Play商店中,並檢查它現在的版本大於應用程序版本,如果它更大,只顯示彈出 –
在GitHub Gist帳戶中創建一個包含最新版本號的文本文件。
獲取的原始URL
字符串URL = 「https://gist.githubusercontent.com/YOUR_ACCOUNT_NAME/0df1fa45aa11753de0a85893448b22de/raw/UpdateInfo.txt」;
private static async Task<string> GetLatestVersion(string URL)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(URL));
request.ContentType = "application/json"; //i am using a json file
request.Method = "GET";
request.Timeout = 20000;
// Send the request to the server and wait for the response:
try
{
using (WebResponse response = await request.GetResponseAsync())
{
// Get a stream representation of the HTTP web response:
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream);
return reader.ReadToEnd();
}
}
}
catch (Exception ex)
{
return string.Empty;
}
}
這將返回您的應用程序的最新版本。並與現有的應用程序版本檢查活動
var versionName = Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionName;
var currentVer = double.Parse(versionName);
,但你必須更新此版本號的任何時間更新在Play商店的應用程序。
好的解決方案。但我仍然喜歡動態解決方案 –
- 1. 彈出在xamarin.forms
- 2. Xamarin.Forms版本
- 3. Xamarin.Forms無法更新從版本2.3.4.270 Xamarin.Forms包到2.4.0.282
- 4. Xamarin.Forms - 彈出式菜單
- 5. 用最新版本更新後,Kendo彈出窗口非常小
- 6. Homebrew:使用新版本的公式@版本格式列出可用版本
- 7. Sitecore - 項目版本彈出
- 8. 創建一個彈出窗口「這個應用程序的新版本可用」
- 9. 如何將Xamarin.Forms更新爲最新版本?
- 10. Xamarin.Forms - 尋找一個彈出窗口
- 11. 在Chrome新版本中彈出問題37
- 12. 最新的PCL配置文件版本有優勢嗎? (Xamarin.Forms)
- 13. 核彈沒有安裝最新版本可在GitHub的
- 14. 用Xamarin.Forms更新ListView
- 15. 使用新版本工具版本時出錯:3.3.0
- 16. 使用新版本更新後,SQLite可以使用舊版本嗎?
- 17. 我無法重新安裝java:新版本的java發現消息彈出
- 18. 如何使用xamarin.forms在彈出窗口中創建窗體?
- 19. 如何在使用Xamarin.Forms彈出頁面後處理ViewModel?
- 20. xamarin.forms從應用商店/ google商店中讀取應用版本
- 21. 如果新版本可用,更新本地軟件包文件
- 22. 更新Xamarin.forms
- 23. 使用彈出新窗口
- 24. struts 2彈簧插件 - 彈簧版本
- 25. 如何更新引導彈出文本?
- 26. 將彈性beanstalk配置爲使用python的新版本
- 27. Xamarin.Forms,如何找到兼容版本的Android支持庫與我當前的Xamarin.Forms
- 28. 如何強制Caliburn.Micro.Xamarin.Forms使用特定版本的Xamarin.Forms?
- 29. 可用的模式彈出
- 30. 彈出覆蓋屏幕,可選文本
你檢查曲棍球應用程序? –
我讀到它..也許我會用它 –
你爲什麼想做這個擺在首位?如果您發佈應用程序,商店是否會自動更新爲新版本? – SilentStorm