2024年安卓最新React Native 与 嵌入Android原生与Activity页面互相跳转,2024年最新android app面试
在2024年,React Native (RN) 和嵌入Android原生Activity页面的互相跳转可以通过以下方式实现:
从RN跳转到原生Activity:
在RN中,你可以使用
Linking
API或者IntentLauncher
(自定义库)来启动一个原生Activity。
// 使用Linking API
import { Linking } from 'react-native';
Linking.openURL('yourscheme://host').catch(err => console.error('An error occurred', err));
// 或者使用IntentLauncher
import { IntentLauncherAndroid } from 'react-native';
IntentLauncherAndroid.startActivity('com.example.MainActivity', 'yourscheme://host');
从原生Activity跳转回RN页面:
在原生Activity中,你可以通过React Native的
getPackages()
方法来定义一个返回RN页面的Intent。
// 在你的Activity中
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "MyReactNativeApp";
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// 添加你的包
return packages;
}
public void goToRNPage(View view) {
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("key", "value"); // 可选,传递数据
this.startActivity(intent);
}
}
确保你的AndroidManifest.xml
中有正确配置的activity
标签和intent-filter
,以及React Native项目的AndroidManifest.xml
中有正确的scheme
和host
。
以上代码是示例,请根据你的具体需求进行相应的调整。
评论已关闭