私は新しくインストールした後、私の主なものとは別のアクティビティを開くアンドロイドアプリケーションを持っています。onActivityResult()のコードが実行されていません
私はstartActivityForResult()とSharedPreferencesを使ってこれを試しました。ここに私のコードである:
主な活動:
パブリッククラスONTTMainActivityが延びるアクティビティ{
静的最終int型REQUEST_CODE = 5。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences settings = getSharedPreferences("prefs", 0);
boolean firstRun = settings.getBoolean("firstRun", true);
if(firstRun){
startActivityForResult(
new Intent(this, ONTTSplashActivity.class), REQUEST_CODE);
}
setContentView(R.layout.activitymain);
}
第二の活性は:
パブリッククラスONTTSplashActivityアクティビティを拡張{
@Override
公共ボイドのonCreate(バンドルsavedInstanceState)は{
super.onCreate(savedInstanceState);
setContentView(R.layout.activityonttsplash);
final Button btnSkip = (Button) findViewById(R.id.button_skip);
btnSkip.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setResult(RESULT_OK);
finish();
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Toast.makeText(ONTTSplashActivity.this, "Toast Reached", Toast.LENGTH_LONG).show();
if (resultCode == RESULT_OK) {
SharedPreferences settings = getSharedPreferences("ONTT_prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("firstRun", false);
editor.commit();
}
}
問題は、たとえ2番目のアクティビティが終了するonActivityResult関数のコードは実行されません。私はそれが達成されたかどうかを見るためにトーストを使ってみました。
私はいくつかの同様の質問を見ましたが、すべての解決策を試しましたが、機能しません。
ああああ..その数字..おかげで、それは解決策だった – GMBrian
はいtisはあなたの質問に答えるための解決策です –