質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

1回答

1977閲覧

Android 特定端末での画面復帰の問題

yryuu

総合スコア151

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2017/02/23 07:31

編集2017/02/23 09:19

上のコードでスプラッシュ画面を作成しているのですが
Xperiaの端末複数で
ホームボタンから戻り、再度アプリアイコンをタップして起動したときに
もう一度スプラッシュ画面が起動してしまいます

雑ですがその下のコードでrunnableを走らせないと直ります。
何の要因で起こっているのかわからないので教えてください。

import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class BootActivity extends Activity implements Runnable { private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); mHandler = new Handler(); } @Override protected void onResume() { mHandler.postDelayed(this, 2000); super.onResume(); } @Override protected void onPause() { super.onPause(); mHandler.removeCallbacks(this); } void launch() { Intent intent = new Intent(this, SearchTop.class); startActivity(intent); overridePendingTransition(R.anim.fade_in, R.anim.fade); finish(); } @Override public void run() { launch(); } }
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class BootActivity extends Activity implements Runnable { private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); Intent intent = new Intent(this, SearchTop.class); startActivity(intent); overridePendingTransition(R.anim.fade_in, R.anim.fade); finish(); } @Override protected void onResume() { mHandler.postDelayed(this, 2000); super.onResume(); } @Override protected void onPause() { super.onPause(); mHandler.removeCallbacks(this); } void launch() { Intent intent = new Intent(this, SearchTop.class); startActivity(intent); overridePendingTransition(R.anim.fade_in, R.anim.fade); finish(); } @Override public void run() { launch(); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2017/02/23 07:56

「以下のコード」と「下のようなコード」はそれぞれどのコードを指しているかわかりません。
yryuu

2017/02/23 09:18

すみません 上のコードが以下のコードになります 下のようなコードがその下のコードになります
abs123

2017/02/23 09:24

期待する動作、再現手順、再現確率(何回中何回)、端末の情報(動作確認を行ったのはXperiaだけか?)など、書けること追記してください。一度にすべて書くと時間がかかると思うので、ある程度かけたら更新していくことをお勧めします。
yryuu

2017/02/23 09:40

abs123様 承知しました。調査いたします
abs123

2017/02/23 09:51

あと、AndroidManifestの中身も追記していただけると、状況の特定がやりやすくなります。
guest

回答1

0

ホームのアプリアイコンの起動は既に起動しているかどうかは判断しなかったと思いますよ。
起動用のIntentでアプリを起動するので毎回スプラッシュ画面が出ると思います。

投稿2017/02/23 09:35

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yryuu

2017/02/23 09:42

例えば 今回のプログラムではスプラッシュからSearchTopにとんでいて、 SearchTopに遷移したときにホームボタンを押して、アイコンから再度起動すると 今のところの確認ではxperia以外は、SearchTopに復帰するのですが この挙動自体は正しい認識でいました。 普通はスプラッシュになるということでしょうか
yona

2017/02/23 09:57

記憶違いでしたね、ごめんなさい。 ただ、今回はタスクの中にメインのインテントフィルターを持つActivityがfinishされるので、そのリンクの通りには動かない可能性がありますね。 一度、finishしないで試してみてください。
yryuu

2017/02/23 09:57

abs123様 気になって調べてみましたが ホームボタンを押して再復帰したときにスプラッシュからまたSearchTopに移動しましたが 戻るボタンを押したらSearchTopでした 期待行動としましてはホームボタンを押してアイコン復帰の時にSearchTopをそもまま表示したいのですが、不要にスプラッシュが起動してしまっているみたいです 今のところやはりXperiaのみです isai(1台)とxperia5系・4系(2台)で確認しましたが xperiaの再現率は100%でした。 その他他アプリでも同様に試しましたが、やはりスプラッシュは起動しなかったです Runnableの書き方がをしないで画面遷移するようにすれば、スプラッシュは経由しなくなるみたいです
yryuu

2017/02/23 10:00 編集

yona様 finishしなくても同一挙動でした
yona

2017/02/23 10:23

下のコードで「runnableを走らせない」とはどういう意味ですか?postDelayedしているのでrunメソッドはうごくとおもいますが?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問