2016-08-21 39 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

第一個選項最適合我的應用程序。非常感謝! –

相關問題