0

私の Android アプリケーションでは、画像共有機能を提供しています。現在のアクティビティから画像共有機能を完了した後、ユーザーを HomeActivity にリダイレクトする必要があります。そのためonActivityResult()に、コードにユーザーメソッドがあります。しかし問題は、常に 0 を返すため、HomeActivity が開始されないことです。私は多くの投稿を調べましたが、解決策を得ることができませんでした。この問題を解決するために私を助けてください。ありがとう。

CurrentActivity のコード:

     @Override
            public void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                try {
                    switch (requestCode) {
                    case SHARE_PIC:

//The following condition is not satisfied while debugging.
                        if (resultCode == Activity.RESULT_OK) {
                            GlobalClass.finalPath = null;
                            FaceFrameActivity_temp.this.finish();
                            Intent in = new Intent(FaceFrameActivity_temp.this,
                                    HomeActivity.class);
                            in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            startActivity(in);
                            GlobalClass.finalPath = null;
                        }
                        break;
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }


           //Button click will handle sharing functionality.
           btnOk.setOnClickListener(new OnClickListener() {
                            @Override
                            public void onClick(View v) {

                                if (txtFile.getText().toString().trim().length() > 0) {

                                    if (GlobalClass.finalPath == null) {
                                        finalBitmap = FaceFrameActivity_temp.this.frmView
                                                .getDrawingCache();
                                        SaveToSDcard(finalBitmap, txtFile.getText()
                                                .toString());

                                    }


                                    Intent share = new Intent(Intent.ACTION_SEND);

                                    share.setType("image/*");
                                    share.putExtra(Intent.EXTRA_STREAM, Uri
                                            .fromFile(new File(GlobalClass.finalPath)));

                                    FaceFrameActivity_temp.this.startActivityForResult(
                                            Intent.createChooser(share, "Share via"),
                                            SHARE_PIC); //SHARE_PIC = 3
                                }
                            }
                        });

currentActivity から、画像を共有するための Intent を開きました。画像の共有が完了し、ユーザーがアプリケーションに戻ったときに、ホーム アクティビティを開きたいのですが、現在のアクティビティのコードが実行されないという問題がありonActivityResult()ます。

4

3 に答える 3

0

IntentChooser の startActivityForResult が機能するとは思わない。別のSO回答からコピー/貼り付けします:

それは確実に機能しません。アクティビティの ~99% は、startActivityForResult で動作するように設定されていません。

于 2013-10-10T07:22:04.517 に答える