[解決済み] onActivityResult()の異常な呼び出し
質問
私は
Activity
(の子孫)。
PreferenceActivity
) をワーカーアクティビティから以下のように削除します。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1458)
loadInfo();
}
void showSettingsDialog()
{
startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458);
}
MyConfigure
クラスは
setResult()
の呼び出しはありません。実際には
MyConfigure
クラスには
OnCreate()
を使用してプリファレンスをロードしています。
addPreferencesFromResource
.
現在
onActivityResult
が呼び出されるのは
requestCode
の
1458
の直後に
MyConfigure
アクティビティが実行された直後です。1.6と2.1エミュレータ、および2.1デバイスでテストしています。の呼び出しがあるのでしょうか?
setResult()
のどこかに埋もれているのでしょうか?
PreferenceActivity
? あるいは、この早すぎる呼び出しを他にどのように説明することができますか?
どのように解決するのですか?
この問題は、起動モードを
singleTop
:
<activity
android:name=".MainActivity"
android:launchMode="singleTop">
Android にはバグ/機能(?)があり、(まだ設定されていない)
Activity
として宣言された
singleTask
と宣言されています (アクティビティは実行され続けているにもかかわらず)。もし
launchMode
から親アクティビティーの
singleTask
から
singleTop
に変更した場合、すべてが期待通りに動作し、アクティビティが終了した後に結果が報告されます。この動作には一定の説明がつきますが (1つの
singleTask
アクティビティは1つしか存在できず、それに対して複数のウェイターが発生する可能性があります)、これはまだ私にとっては論理的ではない制限です。
関連
-
[解決済み] FragmentでonActivityResultが呼び出されない
-
[解決済み] Android Webview - キャッシュを完全に削除する
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] ViewPager2でスワイプを無効にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android Webview - キャッシュを完全に削除する
-
[解決済み] HttpPostによる画像送信
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] Androidアプリケーションのヒープサイズを大きくするには?
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法