This commit is contained in:
2026-03-24 21:11:17 +08:00
parent aee736fe0b
commit b63c00d251
9 changed files with 104 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

View File

@@ -0,0 +1,39 @@
package com.rnpay;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import androidx.annotation.NonNull;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import java.util.List;
public class AppUtilsModule extends ReactContextBaseJavaModule {
public AppUtilsModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@NonNull
@Override
public String getName() {
return "AppUtilsModule";
}
@ReactMethod
public void isModifiedAppInstalled(String scheme, Promise promise) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(scheme + "://check"));
PackageManager pm = getReactApplicationContext().getPackageManager();
List<android.content.pm.ResolveInfo> list = pm.queryIntentActivities(intent, 0);
promise.resolve(list != null && !list.isEmpty());
} catch (Exception e) {
promise.reject("CHECK_ERROR", e.getMessage(), e);
}
}
}

View File

@@ -0,0 +1,23 @@
package com.rnpay;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class AppUtilsPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(new AppUtilsModule(reactContext));
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}

View File

@@ -23,8 +23,7 @@ public class MainApplication extends Application implements ReactApplication {
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
packages.add(new AppUtilsPackage());
return packages;
}