Я пытаюсь создать приложение с несколькими деятельности:Android сервис для нескольких видов деятельности
- DashboardActivity
- SettingsActivity
- ....
и с одной услуги (передача данные между телефоном и моим устройством).
public class MyService extends Service {
....
public int onStartCommand(Intent intent, int flags, int startId) {
int time = intent.getIntExtra(DashboardActivity.PARAM_TIME, 1);
int task = intent.getIntExtra(DashboardActivity.PARAM_TASK, 0);
String strMAC = intent.getStringExtra(DashboardActivity.PARAM_MAC);
String strMESS = intent.getStringExtra(DashboardActivity.PARAM_MESSAGE);
....
}
Поэтому я могу начать свое обслуживание с DashboardActivity. Установите соединение, получите данные. Но мне нужно получить эти данные, когда я запускаю SettingsActivity в SettingActivity.
В моей DashboardActivity, у меня есть вещательный приемник:
// create BroadcastReceiver
br = new BroadcastReceiver() {
// действия при получении сообщений
public void onReceive(Context context, Intent intent) {
int task = intent.getIntExtra(PARAM_TASK, 0);
int status = intent.getIntExtra(PARAM_STATUS, 0);
//Log.d(LOG_TAG, "onReceive: task = " + task + ", status = " + status);
// looking for start status
if (status == STATUS_START) {
switch (task) {
case TASK1_CODE:
tvTask1.setText("Task1 start" + connectionSTATE);
break;
case TASK2_CODE:
tvTask2.setText("Task2 start"+connectionSTATE);
break;
case TASK3_CODE:
tvTask3.setText("Task3 start"+connectionSTATE);
break;
}
}
// looking for result status
if (status == STATUS_FINISH) {
//String result = intent.getStringExtra(PARAM_RESULT);
int[] result = intent.getIntArrayExtra(PARAM_RESULT);
switch (task) {
case TASK1_CODE:
tvTask1.setText("Task1 finish, result = " + Arrays.toString(result)+" "+connectionSTATE);
break;
case TASK2_CODE:
tvTask2.setText("Task2 finish, result = " + Arrays.toString(result)+" "+connectionSTATE);
break;
case TASK3_CODE:
tvTask3.setText("Task3 finish, result = " + Arrays.toString(result) + " " + connectionSTATE);
myView.setLabelText(Arrays.toString(result));
//String message =Integer.toHexString(result[1]);
onClicksent_data(Integer.toHexString(result[1]));
break;
}
}
}
};
// Filter BroadcastReceiver
IntentFilter intFilt = new IntentFilter(BROADCAST_ACTION);
// turnOn BroadcastReceiver
registerReceiver(br, intFilt);
Как я могу сделать это в SettingsActivity?
Как отправить задачу на одну услугу из разных видов деятельности и обновить данные для этих действий?
Я нахожу другой способ. Это проще для меня, для использования ViewFlipper)) Но спасибо! Я попытаюсь использовать ваше предложение в будущем! –