2017-01-20 26 views
6

Reagująca natywna dokumentacja na ten temat wydaje się być niekompletna. Ja po tej instrukcji, które nie wydają się prowadzić mnie wszędzie:React Native - Headless JS example

https://facebook.github.io/react-native/releases/next/docs/headless-js-android.html#headless-js

Gdzie mam umieścić plik .java? Jak mam rozpocząć zadanie?

+0

W tej chwili właśnie to rozwiązuję. Czy masz jeszcze jakieś postępy? Myślę, że możesz uruchomić zadanie za pomocą tego https://facebook.github.io/react-native/docs/appregistry.html#startheadlesstask –

+0

Nie. Zaimplementowałem natywny moduł z usługą w tle dla Androida. To było dość proste. Spróbuję jeszcze raz w tym momencie i opublikuję moje ustalenia tutaj. – Alex

+0

Chcesz udostępnić tę usługę Androida? Ponieważ zrobiłem coś podobnego: D –

Odpowiedz

0

Umieść plik .java w swoim projekcie. Na przykład. /app/src/main/java/com/alex/app/service/

Jeśli chcesz wykonać określony kod JavaScript bez wyświetlania numeru ReactRootView, możesz użyć niestandardowego HeadlessJsTaskService.

Aby rozpocząć zadanie, wystarczy zadzwonić na numer startService(new Intent(this, MyTaskService.class)); z innej usługi lub nawet z działania.

Podpowiedź: zmieniłem metodę samouczka getTaskConfig(), co pozwala pustych dodatkowe:

@Override 
@Nullable 
protected HeadlessJsTaskConfig getTaskConfig(Intent intent) { 
    Bundle extras = intent.getExtras(); 
    WritableMap data = extras != null ? Arguments.fromBundle(extras) : null; 
    return new HeadlessJsTaskConfig(
      "SomeTaskName", 
      data, 
      5000); 
} 

Albo przynajmniej zmienić, więc nie powiedzie się, jeśli tylko cicho żadne dodatki są przewidziane.

Powiązane problemy