そこで、AndroidのAPIが提供するSnakeゲームを編集しようとしています。メニュー - >設定 - >再開を押した後にゲームを再開するようにしようとしています。ただし、すべて再開する代わりに、設定を押した後、終了してそこから再開します。プログラムを再開するためにインテントを使用しています。
public boolean onOptionsSelected(MenuItem menu){
    switch(menu.getItemId()){
        case R.id.settings:
        Intent prefActivity = new Intent(this,MyPreferences.class);
        startActivityForResult(prefActivity, KEY_RESUME_RESULT);
        return true;
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
    switch(requestCode){
    case KEY_RESUME_RESULT:
        if(resultCode==RESULT_OK){
            if(mSnakeView.getMode() == SnakeView.PAUSE)
                this.mSnakeView.setMode(SnakeView.RUNNING);
        }
    }
}
これは MyPreferences.class にあります
public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.snake_preferences);
        resume = (Preference)findPreference(getString(R.string.key_resume));
        onPreferenceTreeClick(this.getPreferenceScreen(),resume);
    }
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferencescreen,Preference preference){
        super.onPreferenceTreeClick(preferencescreen,preference);
        Intent intent = new Intent();
        if(preference == resume){
            setResult(Activity.RESULT_OK,intent);
            finish();
        }
        return true;
    }