Я пытаюсь создать внешнюю службу вещания, которая отправляет номер. Клиент (внешнее приложение), пытающийся отправить запрос на мою службу, и служба отправляет обратно номер. Я зарегистрировал свой сервис и широковещательный resiever в AndroidManifest.xml:Результат широковещания всегда равен нулю
<service android:exported="true" android:enabled="true" android:name=".MyService"/>
<receiver android:exported="true" android:enabled="true" android:name=".MyStartServiceReceiver">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
мой класс вещания:
public class MyStartServiceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1 = new Intent(context, MyService.class);
context.startService(intent1);
}
}
в классе MYSERVICE Я пытаюсь поставить дополнительные данные
public void onStart(Intent intent, int startId) {
Log.i(TAG, "service started");
intent.setClass(getApplicationContext(), MyService.class);
intent.setAction(Intent.ACTION_SEND);
intent.putExtra("result", 10);
sendBroadcast(intent);
}
и отправить он вернулся, но я все равно становлюсь нулевым. Чтобы проверить мой сервис, я использую оболочку adb:
adb shell am broadcast -a android.intent.action.SEND
Broadcasting: Intent { act=android.intent.action.SEND }
Broadcast completed: result=0
Кто-нибудь знает, что не так в моем обслуживании?
Является ли ваш широковещательный класс и внутри службы? –
@ItzHoudini, нет, это внешний класс в одном пакете – novik