我必须确保打开一个应用程序,它是通过传递参数安装在设备上。在这种情况下的应用程序是火狐。我发现了类似的东西,但我不知道它是否能帮助我:Link我在Expo上找到了这个,但我不知道它是否符合我的要求:博览会有什么建议吗
k10s72fa1#
expo-intent-launcher库有一个IntentLauncherParams接口,必须实现该接口。要实现该接口,您需要在typescript. See: React Native TypeScript和See: Expo Typescript中创建一个组件1.创建实现IntentLauncherParams的IntentParams类。我使用构造函数来传递一些在我的情况下需要的默认值。
class IntentParams implements IntentLauncherParams { type?: string; category?: string; data?: string; flags?: number; packageName?: string; className?: string; extra?: Record<string, any>; constructor(flags?: number, extra?: Record<string, any>) { this.flags = flags; this.extra = extra; } }
1.创建函数Foo()以启动Activity
const Foo = () => { try { const transaction = { requestedAmount: amount, currency: currency }; const transactionJson = JSON.stringify(transaction); const extra: Record<string, any> = { extra1: "extra1parameter", extra2: "extra2parameter", extra3: transactionJson, }; const params = new IntentParams(_MY_FLAG_, extra); startActivityAsync(_MY_ACTIVITY_, params) .then((t) => { console.log(t); setData(t.data); }) .catch((err) => console.error( `Foo inline: ${JSON.stringify( err.request )}: ${err}` ) ); } catch (error) { console.error( `Foo: ${JSON.stringify( error.request )}: ${error}` ); } };
1.从组件中所需的位置运行函数。1.请记住在开始时导入库
import { IntentLauncherParams, startActivityAsync } from "expo-intent-launcher";
我希望它能帮助你。
1条答案
按热度按时间k10s72fa1#
expo-intent-launcher库有一个IntentLauncherParams接口,必须实现该接口。要实现该接口,您需要在typescript. See: React Native TypeScript和See: Expo Typescript中创建一个组件
1.创建实现IntentLauncherParams的IntentParams类。我使用构造函数来传递一些在我的情况下需要的默认值。
1.创建函数Foo()以启动Activity
1.从组件中所需的位置运行函数。
1.请记住在开始时导入库
我希望它能帮助你。