Отправка данных из службы в действие

У меня возникает проблема при отправке данных из Сервиса в Активность через Уведомление, я нажимаю кнопку «Уведомление о действии», но когда я пытаюсь добавить некоторые параметры с помощью пакета, я не могу получить параметры в так называемом намерении, я прошел через Link Как отправить параметры из уведомления об уведомлении?

Но до сих пор не повезло.

С тем же вопросом произошла с кем-то еще?

Заранее спасибо.

Solutions Collecting From Web of "Отправка данных из службы в действие"

Вы также должны изменить файл манифеста.

Вот пример, который работает:

Эти переменные и методы являются членами класса Service:

public static final String MOVEMENT_UPDATE = "com.client.gaitlink.AccelerationService.action.MOVEMENT_UPDATE"; public static final String ACCELERATION_X = "com.client.gaitlink.AccelerationService.ACCELERATION_X"; public static final String ACCELERATION_Y = "com.client.gaitlink.AccelerationService.ACCELERATION_Y"; public static final String ACCELERATION_Z = "com.client.gaitlink.AccelerationService.ACCELERATION_Z"; private void announceAccelerationChanges()//this method sends broadcast messages { Intent intent = new Intent(MOVEMENT_UPDATE); intent.putExtra(ACCELERATION_X, accelerationX); intent.putExtra(ACCELERATION_Y, accelerationY); intent.putExtra(ACCELERATION_Z, accelerationZ); sendBroadcast(intent); } 

И это методы из Основной деятельности:

Вы должны зарегистрировать приемник в методе onResume:

  @Override public void onResume() { IntentFilter movementFilter; movementFilter = new IntentFilter(AccelerationService.MOVEMENT_UPDATE); accelerationReceiver = new AccelerationServiceReceiver(); registerReceiver(accelerationReceiver, movementFilter); startAccelerationService(); super.onResume(); } private void startAccelerationService() { startService(new Intent(this, AccelerationService.class)); } public class AccelerationServiceReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)//this method receives broadcast messages. Be sure to modify AndroidManifest.xml file in order to enable message receiving { accelerationX = intent.getDoubleExtra(AccelerationService.ACCELERATION_X, 0); accelerationY = intent.getDoubleExtra(AccelerationService.ACCELERATION_Y, 0); accelerationZ = intent.getDoubleExtra(AccelerationService.ACCELERATION_Z, 0); announceSession(); updateGUI(); } } 

Это часть файла AndroidManifest.xml, который должен быть настроен для приема широковещательных сообщений:

 <activity android:name=".GaitLink" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="com.client.gaitlink.CommunicationService.action.ACTIVITY_STATUS_UPDATE" /> </intent-filter> </activity>