Как я могу отправить данные на устройство ble из второго или третьего действия той же программы

введите описание изображения здесьЯ могу отправить данные из первого действия, но повторение той же процедуры для второго действия для отправки данных на устройство ble не увенчалось успехом. Как я могу отправить данные из второго действия?


person sitara    schedule 17.11.2015    source источник
comment
вы хотите отправить данные из второго действия в первое или из второго в третье действие?   -  person Anjali    schedule 17.11.2015
comment
Я хочу отправить данные на устройство ble   -  person sitara    schedule 18.11.2015
comment
Я объявляю функции Bluetooth в первом действии. Я сделал то же самое во втором действии, чтобы отправить данные на устройство ble со второй страницы моего приложения, как это делает первая страница. Но это не сработало. Только с первой страницы данные шлют на бле.   -  person sitara    schedule 18.11.2015


Ответы (2)


используйте это, чтобы сохранить

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");
}
person Kastriot Dreshaj    schedule 17.11.2015

Если вы просто хотите отправить данные следующему действию, используйте Intentintent = new Intent(FirstActivity.this, SecondActivity.class)intent.putExtra("id_for_value", value); startActivity(намерение);

И восстановить его с помощью

  value= getIntent().getExtras().getString("id_for_value");//if it is a string

ИЛИ

Если вы хотите отправить данные из второго действия обратно в предыдущее, вы должны использовать начальное действие для результатов.

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");   

                     }  
 }  

И в вашей предыдущей активности вы передаете такие данные

Intent intent=new Intent();  
intent.putExtra("ResultId",message);  
setResult(2,intent);  
finish();
person Collins Abitekaniza    schedule 17.11.2015