Как я могу получить доступ к приложению в MainActivity, которое мы получаем в Ionic Projects
Я пытаюсь интегрировать плагин Swrve в мой проект Android. Ниже приведен код, который мы получаем в MainActivity
public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initializes the Bridge
this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
// Additional plugins you've installed go here
// Ex: add(TotallyAwesomePlugin.class);
add(MyPlugin.class);
}});
try {
SwrveConfig config = new SwrveConfig();
// To use the EU stack, include this in your config.
// config.setSelectedStack(SwrveStack.EU);
SwrveSDK.createInstance(this, <app_id>, "<api_key>", config);
} catch (IllegalArgumentException exp) {
Log.e("SwrveDemo", "Could not initialize the Swrve SDK", exp);
}
}
}
Когда я запускаю код, я получаю следующую ошибку
error: incompatible types: MainActivity cannot be converted to Application
Ссылочный код на сайте следующий
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
try {
SwrveConfig config = new SwrveConfig();
// To use the EU stack, include this in your config.
// config.setSelectedStack(SwrveStack.EU);
SwrveSDK.createInstance(this, <app_id>, "<api_key>", config);
} catch (IllegalArgumentException exp) {
Log.e("SwrveDemo", "Could not initialize the Swrve SDK", exp);
}
}
}
В ионном проекте у меня есть MainActivity, а не
public class MainActivity extends BridgeActivity {
В документации у меня есть это
public class YourApplication extends Application {
и в строке инициализации это ключевое слово пытается обратиться к приложению, а не MainActivity
SwrveSDK.createInstance(this, <app_id>, "<api_key>", config);
У меня нет никаких знаний о нативном коде, поэтому я был бы признателен, если бы кто-нибудь смог мне помочь и объяснить, что может быть за исправление.
1 ответ
Вам нужно создать класс Application для этого кода.
Создайте новый класс Java и установите его для расширения Application:
public class SomeApp extends Application {}
Затем добавьте его в свой AndroidManifest, в application
тег:
<application
...
android:name=".SomeApp">
Затем следуйте руководству по установке, поместив то, что должно быть в классе Application, в класс Application, который вы только что создали.