【问题标题】:How to Extend Application Class on Android with Angular nativeScriptBootstrap如何使用 Angular nativeScriptBootstrap 在 Android 上扩展应用程序类
【发布时间】:2016-12-28 08:04:54
【问题描述】:

我正在尝试在 android 上实现 OneSignal's Push Notification SDK,为此,我需要 Extend Application Class 并在 onCreate 方法中调用 OneSignal.startInit

我一直在关注文档和Android Extend Sample App 中发布的指南。这些都不起作用。

尝试构建Android Extend Sample App 会导致Java ID 0 not found 错误。

我也在探索export class AppComponent extends android.app.Application 的可能性,到目前为止我没有运气。

任何提示将不胜感激!

【问题讨论】:

    标签: java android angular typescript nativescript


    【解决方案1】:

    有两种方法可以实现,后者比较复杂

    将以下内容放在您的 main.ts 中

    var application = require("application");
    application.on(application.launchEvent, function (args) {
        if (args.android) {
            // For Android applications
        com.onesignal.OneSignal.startInit(application.android.context).init();
        } else if (args.ios !== undefined) {
            // For iOS applications, args.ios
        }
    });
    

    在您的应用文件夹中创建一个新的 JavaScript 文件 - 将其命名为 application.android.js

    var application = require("application");
    var superProto = android.app.Application.prototype;
    var Application = android.app.Application.extend("org.myApp.Application", {
        onCreate: function () {
            superProto.onCreate.call(this);
            application.android.init(this);
            com.onesignal.OneSignal.startInit(this).init();
        }
    });
    

    修改<application-name>app/App_Resources/Android/ 文件夹中的AndroidManifest.xml 文件中的应用程序条目

    <application
            android:name="org.myApp.Application"
            android:allowBackup="true"
            android:icon="@drawable/icon"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
    

    【讨论】:

    • 第一个选项最适合我的应用程序。非常感谢!
    猜你喜欢
    • 2012-10-01
    • 2014-01-16
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多