初めてアプリケーションをインストールするユーザーのためにウェルカムチュートリアルを追加しようとしています。そのアクティビティは、Manifest
のメインとして宣言する必要があります(または何かが恋しいですか?)。しかし、私がメインアプリケーション以外の他のアクティビティ(実際のアプリケーション)を選択すると、アプリケーションのショートカット(Android 7.1)はもう動作しません。ただし、カスタムランチャー(Apex、Nova)でショートカットを利用できることは興味深いです。何か案が?マニフェストの結果のメインアクティビティをショートカットに変更してもはや動作しません。
0
A
答えて
0
ご回答いただきありがとうございます。あなたの声明は答えを見つけるのに役立ちます。ですから、スプラッシュ画面を表示してから、Welcomeチュートリアルを表示するアプリを起動したいと思います。また、メイン画面にはショートカットや、ランチャーアイコンが1つだけ必要です。だから、最初、私はManifest.xml
にメインとしてスプラッシュ画面を宣言:
<activity
android:name=".SplashActivity"
android:noHistory="true"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
次に、ようこそ(チュートリアル)アクティビティ:その後
<activity
android:name=".IntroActivity.WelcomeActivity"/>
、SplashActivity.class
に最初の打ち上げをチェック:
public static final String FIRST_APP_LAUNCH = "com.ips.test";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isFirstAppLaunch()) {
setFirstAppLaunch(false);
startActivity(new Intent(this, WelcomeActivity.class));
} else {
startActivity(new Intent(this, MainActivity.class));
}
finish();
}
private boolean isFirstAppLaunch() {
SharedPreferences preferences = this.getPreferences(Context.MODE_PRIVATE);
return preferences.getBoolean(FIRST_APP_LAUNCH, true);
}
private void setFirstAppLaunch(boolean value) {
SharedPreferences preferences = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(FIRST_APP_LAUNCH, value);
editor.apply();
}
を
}
最終結果は私の欲しいものです:スプラッシュ画面でのアプリの起動Welcomeチュートリアルを実行します。次の起動は、メインアクティビティ(アプリ自体)を続けるスプラッシュ画面をトリガーします。ユーザーがメイン画面でショートカットをクリックするとショートカットが表示され、Launcherではアプリケーションショートカットが1つだけ表示されます。
0
(ほとんどすべて)Googleアプリには、歓迎のチュートリアルとランチャーショートカットがあります。彼らはそれをどうやって得ることができないのですか?
ウェルカムチュートリアルはアクティビティである必要はありません。それは他の種類のプレゼンテーション(例えば、フラグメント)であってもよい。
歓迎のチュートリアルは、別のアクティビティであっても、ランチャーのアクティビティである必要はありません。ランチャー・アクティビティーは、それが最初の実行であることを検出し、チュートリアル・アクティビティーを開始しました。
関連する問題
- 1. パス結果は動作しません
- 2. Jenkinsのデフォルトポートを変更しても動作しません(MAC)
- 3. QActionのショートカットはいつも動作しません
- 4. SSMS 2012の結果ペインも全く動作しません
- 5. Google Chromeはオーディオの仕組みを変更しましたか?オーディオコードはもはや動作しません
- 6. メインアクティビティの結果に基づいて別のアクティビティのUIを更新します
- 7. 変数を変更しても効果がありません
- 8. ストライプチェックアウトの結果の動作を変更します。
- 9. ショートカットがエクリプスで動作しません
- 10. Magento Shipping Estimator - 動作していません(空の結果)
- 11. パラメータを変更してもjQueryスライダに何の効果もありません。
- 12. チェックボックスを変更しても機能は起動しません
- 13. UIAlertControllerのテキストフィールドの背景色を変更しても動作しません。
- 14. Visual Studioはブラウザで動作しませんし、特定のショートカットは何もしません。
- 15. NSFetchedResultsController `performFetch:`結果はもはやソートされません
- 16. this.props.relay.setVariables()は新しい結果を取得しませんでしたが(変数も変更します)
- 17. 私はVisual Studioの "go to definition"ショートカットを変更しましたが、動作しません。
- 18. Bootstrap4 navbar menuブラウザのサイズを変更しても動作しません
- 19. mousePressEvent()でQWidgetの親を変更しても動作しません
- 20. tf.contrib.learnクイックスタート: - n_classesを2に変更しても動作しません。
- 21. preg_match_allはmysqlデータベースの結果変数で動作しませんか?
- 22. ブラックベリーエミュレータはもはや動作しません
- 23. drone.io 0.5スラックはもはや動作しません
- 24. WebForms - カスタムバリデータはもはや動作しません
- 25. SFMLはもはや動作しません
- 26. "navigator.camera.getPicture(関数(結果は)" は動作しません
- 27. Quartusの一般的な値を変更してもコンパイル結果に影響しません
- 28. ショートカットのFortran(Visual Studioの2013)では動作しません
- 29. JavaScriptで文字列を変換する(もはや動作しません)
- 30. React.jsでサイトを更新しても動作しません
まあ、[静的ショートカットは 'MAIN' /' LAUNCHER'アクティビティ](https://developer.android.com/preview/shortcuts.html#static)にしか行きません。 – CommonsWare
ありがとうございます、私は全く同意しますが、私を混乱させるのは、(ほとんどすべての)Google Appsにはランチャーのショートカットだけでなく、歓迎のチュートリアルもあります。彼らはそれをどうやって得ることができないのですか? – IPS