gpt4 book ai didi

java - 接收应用程序到应用程序的响应,但将被调用的应用程序没有自己的 Intent

转载 作者:行者123 更新时间:2023-11-30 05:03:38 24 4
gpt4 key购买 nike

在此先感谢您的帮助,我需要为 react-native 制作一个模块,以获取打开应用程序的深层链接并返回应用程序返回的“数据”,但我是 react-native 的新手,这涉及 java(与 android)查看模块代码 react-native-activity-result。我尝试执行模块的测试示例代码

模块 react native Activity 结果代码

  @ReactMethod
public void startActivityForResult(int requestCode, String action, ReadableMap data, Promise promise) {
Activity activity = getReactApplicationContext().getCurrentActivity();
Intent intent = new Intent(action);
intent.putExtras(Arguments.toBundle(data));
activity.startActivityForResult(intent, requestCode);
mPromises.put(requestCode, promise);
}

需要deeplink打开的应用代码

Private final int REQUEST_CODE = 1001;
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Bundle bundle = new Bundle();
bundle.putString("amount","0000000000100");
bundle.putString("currencyPosition","CURRENCY_AFTER_AMOUNT");
bundle.putString("currencyCode","986");
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("getnet://pagamento/v1/payment"));
intent.putExtras(bundle);
startActivityForResult(intent,REQUEST_CODE)
}

我尝试执行模块的测试示例代码

  @ReactMethod
public void startActivityForResultUnintentionally(int requestCode, String deepLink, ReadableMap data, Promise promise) {
Activity activity = getReactApplicationContext().getCurrentActivity();
Intent intent = new Intent(ACTION_VIEW,Uri.parse(deepLink));
intent.putExtras(Arguments.toBundle(data));
activity.startActivityForResultUnintentionally(intent, requestCode);
mPromises.put(requestCode, promise);

最佳答案

我得到 1 我采用了 action 参数并在适当的位置添加了一个 deepLink 参数,然后在 action 参数有意义的地方我放置了 ACTION.VIEW,另一个参数添加了从 String 到 Uri 的 Deeplink 转换。

@ReactMethod
public void startActivityForResult(int requestCode, String deeplink, ReadableMap data, Promise promise) {
Activity activity = getReactApplicationContext().getCurrentActivity();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(deeplink));
intent.putExtras(Arguments.toBundle(data));
activity.startActivityForResult(intent, requestCode);
mPromises.put(requestCode, promise);
}

关于java - 接收应用程序到应用程序的响应,但将被调用的应用程序没有自己的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777549/

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