2016-08-21 33 views
2

我想在Android上导入OneSignal's Push Notification SDK,为了做到这一点,我需要Extend Application Class,并在onCreate方法调用OneSignal.startInit如何扩展应用程序类在Android上角nativeScriptBootstrap

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

试图建立Android Extend Sample App结果Java ID 0 not found错误。

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

任何提示将不胜感激!

回答

4

有实现这一目标的后面是复杂的一个

下面放置在您的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文件两种方式 - 它命名为应用。 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" > 
+0

第一个选项最适合我的应用程序。非常感谢! –

相关问题