gpt4 book ai didi

android - React-Native Android - 从 Intent 中获取变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:35 27 4
gpt4 key购买 nike

我正在使用 intent 来启动我的 React-Native 应用程序,并且我正在尝试找出如何获取我在 native 代码中放置在 intent 上的变量。这可能来自 react-native 还是我必须编写一些 java 代码才能获得它?

我用来启动应用程序的代码:

   Intent intent = new Intent(this, MainActivity.class);
Intent.putExtra("alarm",true);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

谢谢!

最佳答案

试试这个在 react-native 应用程序中获取 Intent 参数。

在我的 native 应用程序中,我使用以下代码:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.my.react.app.package");
launchIntent.putExtra("test", "12331");
startActivity(launchIntent);

在react-native项目中,我的MainActivity.java

public class MainActivity extends ReactActivity {

@Override
protected String getMainComponentName() {
return "FV";
}

public static class TestActivityDelegate extends ReactActivityDelegate {
private static final String TEST = "test";
private Bundle mInitialProps = null;
private final
@Nullable
Activity mActivity;

public TestActivityDelegate(Activity activity, String mainComponentName) {
super(activity, mainComponentName);
this.mActivity = activity;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
Bundle bundle = mActivity.getIntent().getExtras();
if (bundle != null && bundle.containsKey(TEST)) {
mInitialProps = new Bundle();
mInitialProps.putString(TEST, bundle.getString(TEST));
}
super.onCreate(savedInstanceState);
}

@Override
protected Bundle getLaunchOptions() {
return mInitialProps;
}
}

@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new TestActivityDelegate(this, getMainComponentName());
}
}

在我的第一个 Container 中,我在 this.props 中获取参数

export default class App extends Component {

render() {
console.log('App props', this.props);

//...
}
}

我在这里找到的完整示例: http://cmichel.io/how-to-set-initial-props-in-react-native/

关于android - React-Native Android - 从 Intent 中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com