2

私はAndroidを学んでstartActivityForResult()いて、のプロパティも含まれているように知りたいと思っていstartActivity()ます。つまりstartActivity()、呼び出されたアクティビティからデータを受信する以外に、データを送信するために使用できますか?

コードは次のとおりです
。SendDataアクティビティ:

Intent data= new Intent(SendData.this, RecieveData.class);
Bundle check = new Bundle();

check.putString("UmerData", cheese);
medt.setText(cheese);
data.putExtras(check);
startActivityForResult(data, 5);

このアクティビティ(RecieveDataアクティビティ)でデータを受信する必要があります

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.recievedata);
    Initializek();
    Bundle got = getIntent().getExtras();
    String ss= got.getString("UmerData");
    if(getIntent()!=null && ss!=null ) {
        rt1.setText("Is not Null");
    }
}

あなたの助けは本当にありがたいです!

ありがとう

4

3 に答える 3

0

はい、startActivityとstartActivityForResultは、どちらもパラメータとしてインテントを取ります。インテント内に起動データをバンドルして、ターゲットアクティビティに渡すことができます。

于 2012-08-14T21:40:10.973 に答える
0

を使用する場合は、Activity 内に を呼び出しstartActivityForResult()たメソッドも作成する必要があります。 結果のために開始することによって保存されたインテントにアクセスできる場所です。onActivityResult()startActivityForResult()onActivityResult()Activity

Activityその後起動した で、データを保存する を呼び出してsetResult()保存するIntent必要があります。

これを読んでください:http://developer.android.com/reference/android/app/Activity.html#StartingActivities

編集:あなたの質問を読み違えてください。オプションのバンドルを渡すには、次のオーバーロードを使用します。

startActivity(Intent, int, Bundle)

于 2012-08-14T22:00:14.360 に答える
0

私は Xamarin Android で作業しているため、コードは C# ですが、別のアプリ間で送信していることを除いて、同じ問題がありました。私は最終的にそれを機能させたので、ここに私の例があります。

var intent = new Intent();
intent.SetComponent(new ComponentName("com.company.packageName", "com.company.packageName.activityName"));
intent.PutExtra(Intent.ExtraText, message);
StartActivityForResult(intent, 1);
// in app being started
protected override void OnResume()
{
    base.OnResume();

    Intent intent = Intent; // Equivalent to getIntent()
    if (intent != null)
    {
           string str = intent.GetStringExtra(Intent.ExtraText);
           if (str != null)
           {
              // Do stuff with str
           }
           else
           {
               //Show Error
           }  
         }
     else
     {
              //Show Error
     }
}

于 2021-04-02T22:54:51.900 に答える