onActivityResult没有被Android击中

时间:2012-10-09 20:13:09

标签: java android android-intent

我有一段代码,我从startActivityForResult开始,但是onActivityResult方法没有被点击,我已经输入了Log.d注释,所以我知道代码是否被点击这里是我的代码:

  public class myClass extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.store_selector);
    Button getStore = (Button)findViewById(R.id.getStore);

    getStore.setOnClickListener(buttonGetStoreOnClickListener);
}

Button.OnClickListener buttonGetStoreOnClickListener
= new Button.OnClickListener(){

    public void onClick(View arg0) {


    Intent intent = new Intent("com.blah.Blah.client.android.SCAN");
    intent.setPackage("com.blah.Blah");
    intent.putExtra("com.blah.Blah.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);
    Log.d("debug tag", "started activity");
};
};  


@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
   Log.d("debug tag", "inside onActivityResult");
    if (requestCode == 0)
    {
        if (resultCode == RESULT_OK)
        {
            String contents = intent.getStringExtra("SCAN_RESULT");
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
            Log.i("debug tag", "contents: "+contents+" format: "+format);
            Intent myIntent = new Intent(this, Ads.class);
            myIntent.putExtra("key", contents);
            startActivity(myIntent);
            setContentView(R.layout.activity_ads);

            // Handle successful scan
        }
        else if (resultCode == RESULT_CANCELED)
        {
            // Handle cancel
            Log.i("xZing", "Cancelled");
        }
    }
}


};

1 个答案:

答案 0 :(得分:1)

您可能需要在“com.blah.Blah”活动中调用finish()之前调用setResult()