最初のアクティビティからデータを送信できますが、2 番目のアクティビティで同じ手順を繰り返して ble デバイスにデータを送信することはできません。2 番目のアクティビティからデータを送信するにはどうすればよいですか?
2 に答える
0
これを使って保存
Intent intent = new Intent(FirstScreen.this, SecondScreen.class)
intent .putExtra(strName, keyIdentifer );
これを使用して取得します
String newString;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
newString= null;
} else {
newString= extras.getString("STRING_I_NEED");
}
} else {
newString= (String) savedInstanceState.getSerializable("STRING_I_NEED");
}
于 2015-11-17T08:11:59.467 に答える
0
次のアクティビティにデータを送信するだけの場合は、Intent を使用します。startActivity(意図);
そして、それを回復します
value= getIntent().getExtras().getString("id_for_value");//if it is a string
また
2 番目のアクティビティから前のアクティビティにデータを送り返したい場合は、結果の開始アクティビティを使用する必要があります。
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent, 2)//where 2 is the request code
finish();
再び FirstActivity で、これをオーバーライドします
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 2
if(requestCode==2)
{
String result=data.getStringExtra("ResultId");
}
}
そして、PreviousActivity では、次のようにデータを渡します
Intent intent=new Intent();
intent.putExtra("ResultId",message);
setResult(2,intent);
finish();
于 2015-11-17T08:19:41.323 に答える