====== native module ======
react-nativeでAndroidのAPIを使う
[[https://qiita.com/uryyyyyyy/items/664bafdc852d3699f577|react-nativeでAndroidのAPIを扱う(Native Modules編)]]
[[https://facebook.github.io/react-native/docs/native-modules-android|Native Modules]]
[[https://github.com/voximplant/react-native-foreground-service|voximplant/react-native-foreground-service]]
===== 1.ReactContextBaseJavaModuleを継承したクラスを作る =====
* getNameをオーバーライドする。JSコードの中でNativeモジュールを呼ぶ時の識別子となる。
* getConstantsをオーバーライドすると、パラメーターを渡すことができる。
* @ReactMethodアノテーションをつけてメソッドを定義するとJSから呼び出せる。
===== 2.ReactPackageを継承したクラスを作る =====
* createNativeModulesをオーバーライドして、1で作成したクラスを登録する。
===== 3.MainApplicationに組み込み =====
* getPackagesに2で作成したパッケージクラスを登録する。
===== 4.JS側にラッパークラスを用意する =====
import {NativeModules} from 'react-native';
export default NativeModules.[1.のgetName];
===== 5.JSから呼び出す =====
===== その他.Android側でログの出力 =====
import android.util.Log;
Log.i("INFO", "processing service");