稍后我们将在我们的应用中实施应用内配置。现在,我希望能够添加一个按钮,该按钮将启动 Google Pay应用程序以允许用户添加付款方式。
我已经看到了如何启动 Google Play 的代码。我希望它是相似的,但具有不同的 URI。
任何人都可以帮忙。
稍后我们将在我们的应用中实施应用内配置。现在,我希望能够添加一个按钮,该按钮将启动 Google Pay应用程序以允许用户添加付款方式。
我已经看到了如何启动 Google Play 的代码。我希望它是相似的,但具有不同的 URI。
任何人都可以帮忙。
我在我们的应用程序中提出了这个解决方案。该应用程序是使用 React Native 构建的,我实现了一个按钮,该按钮调用本机 Java 模块中的方法(如果您想知道为什么我在这里使用 Promise):
NativeModule.java
@ReactMethod
public void jumpToWallet(Promise promise) {
// Check first if wallet is installed
String packageName = "com.google.android.apps.walletnfcrel";
Context appContext = reactContext.getApplicationContext();
PackageManager pm = appContext.getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
promise.reject("WALLET_NOT_FOUND", "Couldn't find wallet");
}
if (installed) {
Intent launchIntent = pm.getLaunchIntentForPackage(packageName);
if (launchIntent != null) {
appContext.startActivity(launchIntent);
} else {
promise.reject("WALLET_NOT_LAUNCHABLE", "Couldn't launch wallet");
}
}
}
好的 - 还没有完全实现,但我确实觉得我只需要启动一个应用程序。因此,为此我将手机连接到我的 PC 并运行 Android 设备监视器。在我的手机上启动了 Google Pay,并在小麦和谷壳中进行了分类,找到了当前为“com.google.android.apps.walletnfcrel”的包名。
再谷歌搜索一下,我找到了一种方法来测试应用程序是否已安装......
private bool isAppInstalled(String packageName)
{
var context = Android.App.Application.Context;
var pm = context.PackageManager;
bool installed = false;
try
{
pm.GetPackageInfo(packageName, Android.Content.PM.PackageInfoFlags.Activities);
installed = true;
}
catch (Exception e)
{
//Handle this nicer
installed = false;
}
return installed;
}
...然后如果已安装,我可以按如下方式启动它.....
var googlePayPackageNAme = "com.google.android.apps.walletnfcrel";
var context = Android.App.Application.Context;
Intent gpIntent = context.PackageManager.GetLaunchIntentForPackage(googlePayPackageNAme);
context.StartActivity(gpIntent);
现在我对此感到满意.....还有其他事情要做,但我会在以后尝试实际触发添加付款方式流程。
感谢 SO 上的其他帖子。希望这对其他人有帮助。