結果の別のアクティビティを開始するFragmentActivityがあります。呼び出されたアクティビティが終了すると、onActivityResultは呼び出されません。私はAppCompatActivityアクティビティ(FragmentActivityから拡張されています)を使用していることに違いがありますか?ドキュメントでは、結果が呼び出し側のフラグメントに返され、この場合はフラグメントではないことが示されています。これはアクティビティです。ここでのコードは、非常に簡単です:呼び出し元アクティビティでonActivityResultが呼び出されていません
MainActivity:活動呼び出さ
public class SMSEmailActivityNew extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setup activity....
Intent i = new Intent(this, EulaActivity.class);
i.putExtra(Globals.keyFileName,Globals.FILE_EULA);
startActivityForResult(i,RESULT_OK);
}
//this method is never called
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//dowork .....
}
}
:
EulaActivity extends AppCompatActivity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set up activity ....
}
public void onClick(View v) {
Intent result = new Intent();
if (bPermissionGranted) {
setResult(Activity.RESULT_OK, result);
// Determine if EULA was accepted this time
getSharedPreferences().edit().putBoolean(Globals.KEY_EULA_ACCEPTED, true).apply();
} else {
setResult(Activity.RESULT_CANCELED, result);
}
finish();
}
}
AppCompatActivityからDisplayTextActivityを拡張してみてください。 – FAT
@FerdousAhamedはうまくいかなかった。 –
あなたの呼び出されたアクティビティはEulaActivityではありません。DisplayTextActivity – FAT