【android】 APIバージョンによる動作の違い
公開日:
:
最終更新日:2013/11/29
android
「最近使用したアプリケーション」からの起動
2.x系 -> onNewIntentが呼ばれる
4.x系 -> 何も呼ばれない
2.x系の場合、直前に使用されたIntentの内容でonNewIntentが呼ばれるので、Intentの内容で処理を分けている場合、意図せず同じ処理を繰り返してしまうことになる。
しかも内容(Exstrasの中身など)が同じというだけでインスタンス自体は別のもの(Intent.hasCode()の結果が違う)ので意図して同じ処理が呼ばれたのか、タスクスイッチによって呼ばれたのか見分けがつかない。
ちなみに4.x系の場合はonNewIntentは呼ばれず、通常のライフサイクルイベントを開始する。
4.x系で仕様が変わったことを考えると上記2.x系の動作はミス仕様?
関連記事
-
【android】DrawableとBitmap、リソースの相互変換
Resource → Bitmap Bitmap bm = BitmapFactory.dec
-
アプリ間連携 Intentfiler
ブラウザの共有からURLを受け取る。 Manifest.xmlのURL受け取り先のactivity
-
【android】複数のカスタムテーマを設定で切り替える
背景色やアプリ全体のテーマ色を設定で変更したいという要望をもらったので実装してみました。
-
【android】アプリのバージョン情報を取得する
int versionCode = -1; String versionName = &quo
-
【android】リスト項目のmatch_parentが効かない
下記のようなリスト項目用のレイアウトを用意して、リストの右端にチェックボックスを置くようにしたのです
-
【android】標準の設定画面を作る
設定画面のテンプレートです。 検索一発クンのコードから抜粋しました。 チェックボックス、リス
-
【android】 webviewでassetsのリソースを使用する
webviewでassets内のリソースにアクセスするには file:///android_a
-
[android] モンキーテスト(Monkey Test)を実行する
最近テストの効率化に目覚めました。 モンキーテストは猿にアプリを渡してみてめちゃくちゃな操作をさせ
-
【andoid】ViewPagerを使う
1. layout.xmlにViewPagerを配置 2. PagerAdapter.jav
-
【android】サービスの実装
ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場