[英]React Native Android app builds as RNOneSignalAndroid instead of my app
My app has the wrong app name and opens to the wrong activity, instead of my main activity it opens the OneSignal activity.我的应用程序有错误的应用程序名称并打开了错误的活动,而不是我的主要活动,它打开了 OneSignal 活动。
OneSignal is a service I'm using for notifications. OneSignal 是我用于通知的服务。
What can I do to use the MainActivity instead?我该怎么做才能改用 MainActivity?
MainActivity.java
: MainActivity.java
:
package com.social.firebase.example.socializus;
import android.os.Bundle;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import expo.modules.ReactActivityDelegateWrapper;
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "main";
}
}
MainApplication.java
: MainApplication.java
:
package com.social.firebase.example.socializus;
import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import androidx.annotation.NonNull;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import expo.modules.ApplicationLifecycleDispatcher;
import expo.modules.ReactNativeHostWrapper;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHostWrapper(
this,
new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
}
);
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, false);
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
ApplicationLifecycleDispatcher.onApplicationCreate(this);
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig);
}
private static void initializeFlipper(
Context context,
ReactInstanceManager reactInstanceManager
) {
if (BuildConfig.DEBUG) {
try {
Class<?> aClass = Class.forName(
"com.social.firebase.example.socializus.ReactNativeFlipper"
);
aClass
.getMethod(
"initializeFlipper",
Context.class,
ReactInstanceManager.class
)
.invoke(null, context, reactInstanceManager);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
您需要更改 String.xml 文件中的应用程序名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.