NativeScript JobScheduler JobService.class не определен - PullRequest
0 голосов
/ 13 декабря 2018

У меня странная ошибка, когда я пытаюсь создать компонент в JobScheduler

. В первой строке при установке значения компонента я получаю эту ошибку:

ERROR TypeError: Cannot read property 'MyJobService' of undefined

Обафайлы находятся в той же папке, и все это работало вчера.

  • Я очистил папку платформ просто для уверенности, потому что я перетащил некоторые фотографии в папки drawble в app_Resources и мне пришлось снова построить проект, и, возможно, что-то изменилось.но это не помогло.

Что может вызвать эту проблему?я что-то пропустил ?

JobScheduler.js:

function scheduleJob(context) {
        var component = new android.content.ComponentName(context, com.tns.notifications.MyJobService.class);
        const builder = new android.app.job.JobInfo.Builder(1, component);

        builder.setPeriodic(15 * 60 * 1000);
        builder.setOverrideDeadline(0);


        const jobScheduler = context.getSystemService(android.content.Context.JOB_SCHEDULER_SERVICE);
        console.log("Job Scheduled: " + jobScheduler.schedule(builder.build()));

}

module.exports.scheduleJob = scheduleJob;

MyJobService.js:

android.app.job.JobService.extend("com.tns.notifications.MyJobService", {
    onStartJob: function(params) {       
        console.log("Job execution ...");            

        var utils = require("utils/utils");
        var context = utils.ad.getApplicationContext();

            var builder = new android.app.Notification.Builder(context);
            console.log("setting notification head and body")

                builder.setContentTitle("notification triggered ")
                .setAutoCancel(true)
                .setColor(android.R.color.holo_purple)//getResources().getColor(R.color.colorAccent))
                .setContentText("body)
                .setVibrate([100, 200, 100])
                .setSmallIcon(android.R.drawable.btn_star_big_on);


            var mainIntent = new android.content.Intent(context, com.tns.NativeScriptActivity.class); 

            var mNotificationManager = context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);

            const channelId = "my_channel_01";
            const name = "Channel name";
            const description = "Channel description";
            const importance = android.app.NotificationManager.IMPORTANCE_LOW;
            if (android.os.Build.VERSION.SDK_INT >= 26) {
                console.log("api level is good",android.os.Build.VERSION.SDK_INT)
            }
            const mChannel = new android.app.NotificationChannel(channelId, name,importance);


            mChannel.setDescription(description);
            mChannel.enableLights(true);

            mChannel.enableVibration(true);
            mNotificationManager.createNotificationChannel(mChannel);
            builder.setChannelId(channelId);
            mNotificationManager.notify(1, builder.build());

            return false;
        },

        onStopJob: function() {
            console.log("Stopping job ...");

        }

    });
...