Intereting Posts
Android Studio говорит, что «невозможно разрешить символ», но компилирует проект Обновление виджета через короткие промежутки времени с использованием API 19+ Как включить Spongy Castle JAR в Android? Как защитить фоновое обслуживание / аварийные сигналы, которые нужно убить в недавно запущенных устройствах в настраиваемых ОС, таких как oppo – coloros, vivo-funtouch os, Xiomi-MIUI os? Предупреждение Android ADT 21.0: неявно использовать стандартную локаль Почему ButterKnife использует метод DebouncingOnClickListener для методов @OnClick? Панель инструментов AppCompat v7 onOptionsItemSelected not called Тест инструментальных средств Android не работает на Travis CI AVD, но работает на локальном эмуляторе Как получить красную звездочку в записи <string> Android + toString Можно ли проверить, была ли трансляция отправлена ​​в липком режиме? Может ли он быть прерван / удален? Как изменить интервал LocationRequest RadioGroup, расширяющая RelativeLayout? Как я могу программно читать пароли wifi в android Google-plus: невозможно загрузить человека

Показать модальный после установки или обновления приложения

Многие Android-приложения теперь отображают модальную версию с последним списком изменений после ее установки или обновления.

Как я могу отобразить прокручиваемый модаль после того, как приложение было изначально установлено или обновлено?

Solutions Collecting From Web of "Показать модальный после установки или обновления приложения"

Попробуйте следующее :

С Android Change Log вы можете легко создавать, показывать и поддерживать диалог журнала изменений Android.

Особенности:

  • Отображение только нового или всего журнала изменений
  • Отображение при первом запуске недавно установленного приложения или новой версии приложения
  • Писать журнал изменений на упрощенном языке, но при необходимости использовать HTML и CSS …

Закончен следующий код. Часть 1. Проверка просмотра списка изменений

//evaluate if we will show changelog try { //current version PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); int versionCode = packageInfo.versionCode; //version where changelog has been viewed SharedPreferences settings = getSharedPreferences(SAPNotePreferences.PREFS_NAME, 0); int viewedChangelogVersion = settings.getInt(SAPNotePreferences.KEY_CHANGELOG_VERSION_VIEWED, 0); if(viewedChangelogVersion<versionCode) { Editor editor=settings.edit(); editor.putInt(SAPNotePreferences.KEY_CHANGELOG_VERSION_VIEWED, versionCode); editor.commit(); displayChangeLog(); } } catch (NameNotFoundException e) { Log.w("Unable to get version code. Will not show changelog", e); } 

Часть 2, отображающая диалог изменений

  //load some kind of a view LayoutInflater li = LayoutInflater.from(this); View view = li.inflate(R.layout.changelog_view, null); new AlertDialog.Builder(this) .setTitle("Changelog") .setIcon(android.R.drawable.ic_menu_info_details) .setView(view) .setNegativeButton("Close", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // } }).show(); 

Часть 3: макет с журналом изменений

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:id="@+id/aboutscrollview" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="Thanks for installing ..." android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="15px" android:layout_gravity="center_vertical" android:textColor="#ffffff" /> <TextView android:text="Changes: " android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="15px" android:paddingLeft="15px" android:textStyle="bold" android:textColor="#ffffff" /> <TextView android:text="v2.0:changes..." android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="15px" android:paddingBottom="10px" android:textColor="#ffffff" /> </LinearLayout> </ScrollView> </LinearLayout> 

У этого сообщения есть ответ на этот вопрос с примером исходного кода.

http://www.londatiga.net/it/programming/android/how-to-show-whats-new-dialog-in-android-app/

Я думаю, вы, вероятно, на правильном пути. Для # 1 у меня есть класс, который наследует диалог, и его макет просто имеет ScrollView, содержащий TextView, а затем кнопку «увольнять» после этого.

Что касается №2, то, что я сделал в моей, – это сохранить настройки для LastVersionNotesSeen, которые содержат … ну, номер версии для последних заметок. 🙂 Если это число меньше текущей версии, я показываю последние версии и обновляю значение текущей версии.

Для отображения журнала изменений вы также можете локализовать (то есть загрузить из папки res) html в диалоговом окне:

  AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(getString(R.string.changelog_dialog_title)); dialog.setIcon(getResources().getDrawable(R.drawable.icon)); WebView wv = new WebView(getApplicationContext()); wv.loadData(getString(R.string.changelog_dialog_text), "text/html", "utf-8"); dialog.setView(wv); dialog.setPositiveButton(getString(android.R.string.ok), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog.show(); 

Магия заключается в том, как закодировать html-страницу в res / values ​​/ strings.xml:

 <string name="changelog_dialog_text"> <![CDATA[<b>Version 1.3.0:</b> <ul> <li>Change 1</li> <li>Change 2</li> </ul> ]]> </string>