У меня есть следующий код:
ReadableMap infoIntent = frame.getMap("infoIntent");
Log.v("RN2: ", "/uri: " + infoIntent);
intent appIntent = new Intent(mReactContext, getCurrentActivity().getClass());
appIntent.setAction(ACTION_SHORTCUT);
appIntent.putExtra(SHORTCUT_ITEM, infoIntent);//(Parcelable) ??
Я должен убедиться, что восстановил эти данные и передать их в обещанный, поэтому я чувствовал себя так:
@ReactMethod
@TargetApi(25)
public void popInitialAction(Promise promise) {
try {
Activity currentActivity = getCurrentActivity();
WritableMap map = null;
if (currentActivity != null) {
Intent intent = currentActivity.getIntent();
if (ACTION_SHORTCUT.equals(intent.getAction())) {
Parcelable bundle = intent.getParcelableExtra(SHORTCUT_ITEM);
Log.v("RN2: ", "/uri2: " + bundle);
/*if (bundle != null) {
map = item.toWritableMap();
}*/
}
}
promise.resolve(map);
} catch (Exception e) {
promise.reject(new JSApplicationIllegalArgumentException(
"AppShortcuts.popInitialAction error. " + e.getMessage()));
}
}
Тип объекта будет выглядеть примерно так:
infoIntent: {
name: "Megan",
surname: "Fox",
urlImg:
'https://scontent-mxp1-1.cdninstagram.com/vp/3c4732c2cd3566727dad10f03c04b7bd/5C9241C4/t51.2885-19/s150x150/34706107_1875460276079648_8096847319644766208_n.jpg',
age: 32,
height: "1.63 m"
}
Характеристики объекта могут различаться, поэтому я не хочу создавать класс с параметром set и get name.