js は、ネイティブ インターフェイスにメッセージを送信し、関数にジャンプするインターフェイスを実装します。

高洛峰
リリース: 2016-12-05 16:10:38
オリジナル
1120 人が閲覧しました

この記事の例では、メッセージを送信し、js インターフェイスからネイティブ インターフェイスにジャンプするための具体的なコードを共有します。具体的な内容は次のとおりです。

ステップ 1
アイデアで、rn の下にある ./Android/app を開きます。プロジェクト、このプロセスには時間がかかります。また、gradle の依存関係などをダウンロードする必要がある場合もあります。

ステップ 2
これは、ネイティブ アプリを作成するのと同じです。簡単にするために、次のように実装します。

ステップ 3

ReactContextBaseJavaModule を拡張するクラスを作成し、メッセージを受信します。このクラス。

具体的なコード:

public class TestActivity extends AppCompatActivity {
 
  private Button mBtGoBack;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);
    mBtGoBack = (Button) findViewById(R.id.bt_go_back);
    mBtGoBack.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        finish();
      }
    });
 
  }
}
ログイン後にコピー

ステップ 4

パッケージマネージャーを実装し、メッセージを受信するクラス ExampleInterface を登録します。

コードは次のとおりです:

public class ExampleInterface extends ReactContextBaseJavaModule {
 
  private ReactApplicationContext mRApplicationContext;
 
  public ExampleInterface(ReactApplicationContext reactContext) {
    super(reactContext);
    mRApplicationContext = reactContext;
  }
 
  //RN使用这个名称来调用原生模块的其他函数
  @Override
  public String getName() {
    return "ExampleInterface";
  }
  //必须写@ReactMethod,将其注册为能够被React调用的函数
  @ReactMethod
  public void HandlerMessage(String aMessage){
    Log.d("lt","====receive message from RN==="+aMessage);
     //这部分实现简单的跳转
    Intent intent = new Intent(mRApplicationContext,TestActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    mRApplicationContext.startActivity(intent);
  }
 
}
ログイン後にコピー

ステップ 5

MainApplication にパッケージ管理クラス AnExampleReactPackage を追加します


ステップ 6

js インターフェイスで、メッセージを送信します。


関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!