胶子android通知不会运行

时间:2016-12-01 21:44:10

标签: javafxports gluon-mobile

如何在胶子中使用Android通知? 我使用了以下代码,但通知没有运行。也许它没有找到LocalNotification Service?

Services.get(LocalNotificationsService.class).ifPresent(service
            -> 
            {
                service.getNotifications().add(new Notification(
                        notificationId, "Sample Notification Text",
                        ZonedDateTime.now().plusSeconds(10), ()
                        -> 
                        {
                            Alert alert = new Alert(AlertType.INFORMATION,
                                                    "You have been notified!");
                            Platform.runLater(() -> alert.showAndWait());
                }));
    });

manifiest:

<activity android:name="javafxports.android.FXActivity" android:label="GluonApplication1" android:configChanges="orientation|screenSize">
        <meta-data android:name="main.class" android:value="com.gluonapplication1.GluonApplication1"/>
        <meta-data android:name="debug.port" android:value="0"/>
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name="com.gluonhq.impl.charm.down.plugins.android.NotificationActivity"
              android:parentActivityName="javafxports.android.FXActivity">
        <meta-data android:name="android.support.PARENT_ACTIVITY" 
                   android:value="javafxports.android.FXActivity"/>
    </activity>
    <receiver android:name="com.gluonhq.impl.charm.down.plugins.android.AlarmReceiver" />
    <service
        android:name="com.gluonapplication1.MyIntentService"
        android:exported="false">
    </service>

修改

build.gradle文件中包含的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.gluonhq:charm:4.2.0' 
    compile 'com.gluonhq:charm-down-common:2.0.1' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-local-notifications', version: '3.1.0' 
    compile 'org.apache.commons:commons-lang3:3.5' 
    desktopRuntime 'org.xerial:sqlite-jdbc:3.15.1' 
    androidRuntime 'org.sqldroid:sqldroid:1.0.3' 
} 

1 个答案:

答案 0 :(得分:1)

根据您的依赖项列表,您没有添加Android的,并且您没有使用新的downConfig配置来包含Charm Down插件。使用jfxmobile插件1.1.0+读取here构建脚本中的更改。

您至少需要更改build.gradle文件以包含此内容:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.2.0'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'your.main.class.Name'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.gluonhq:charm:4.2.0' 
    compile 'org.apache.commons:commons-lang3:3.5' 
    desktopRuntime 'org.xerial:sqlite-jdbc:3.15.1' 
    androidRuntime 'org.sqldroid:sqldroid:1.0.3' 
}

jfxmobile {
    downConfig {
        version = '3.1.0'
        // Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
        plugins 'display', 'lifecycle', 'local-notifications', 'statusbar', 'storage'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.gluonhq.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}