Activity C中關閉Activity A的方法
阿新 • • 發佈:2019-02-14
在A裡面設定一個靜態的變數instance,初始化為this
在C裡面,A.instance.finish()
如果原生專案接入RN專案後,怎麼關閉RN介面呢?
道理和上述方法一樣:
在RN介面呼叫原生方法,在原生方法中使用上訴方法即可。
程式碼如下:
RN介面新增點選方法:方法的內容為呼叫原生方法
<TouchableOpacity onPress={this.onPressOut.bind(this)}>
<Text style={styles.welcome}>
退出
</Text >
</TouchableOpacity>
onPressOut() {
NativeModules.commModule.rnCallNativeOut();
}
啟動RN介面,設定一個靜態的變數instance,初始化為this
,方便其他介面呼叫finish
public class MainActivity extends ReactActivity {
public static MainActivity mainActivity;
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainActivity=this;
}
//構建一個阻塞的單一資料的佇列
public static ArrayBlockingQueue<String> mQueue = new ArrayBlockingQueue<String>(1);
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "RNTestTwoDemo";
}
public static MainActivity indecnce(){
return mainActivity;
}
}
在繼承ReactContextBaseJavaModule的Module類中定義下面方法,RN介面呼叫該方法就可以關閉RN介面了。
@ReactMethod
public void rnCallNativeOut() {
Log.d("xxx","sssss");
MainActivity.mainActivity.finish();
}