0

I have a problem on an android application made with gluon; when I send a push notification and the application is closed, the status bar notification is not shown; this problem happens to me only with some devices, especially with huawei Android 6.0 version. I have analyzed the logs and when I receive the notification on the device exits this:

SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0 SendBroadcastPermission: action:com.google.android.c2dm.intent.RECEIVE, mPermissionType:0 GCM-DMM : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=MY_PACkAGE_NAME_APP (has extras) }

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="PACKAGE_NAME"
    android:versionCode="144"
    android:versionName="2.0" >

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
    
    <uses-permission android:name="PACKAGE_NAME.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission
        android:name="android.permission.CALL_PHONE"
        android:required="false" />

    <permission
        android:name="PACKAGE_NAME.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name="PACKAGE_NAME.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="21" />

    <application
        android:name="android.support.multidex.MultiDexApplication"
        android:icon="@mipmap/ws_icon"
        android:label="Ws Tech" >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="9452000" />

        <activity
            android:name="javafxports.android.FXActivity"
            android:configChanges="orientation|screenSize"
            android:label="Ws Tech"
            android:screenOrientation="portrait" >
            <meta-data
                android:name="main.class"
                android:value="PACKAGE_NAME.WSMainApplication" />
            <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>

        <service
            android:name="com.gluonhq.impl.charm.down.plugins.android.PushNotificationJobService"
            android:exported="true"
            android:permission="android.permission.BIND_JOB_SERVICE" />
        <service
            android:name="com.gluonhq.impl.charm.down.plugins.android.PushGcmListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="PACKAGE_NAME" />
            </intent-filter>
        </service>

        <receiver android:name="com.gluonhq.impl.charm.down.plugins.android.AlarmReceiver" />
        <receiver
            android:name="com.google.android.gms.gcm.GcmReceiver"
            android:exported="true"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <category android:name="PACKAGE_NAME" />
            </intent-filter>
        </receiver>

        <service
            android:name="com.gluonhq.impl.charm.down.plugins.android.PushInstanceIDListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID" />
            </intent-filter>
        </service>
        <service
            android:name="com.gluonhq.impl.charm.down.plugins.android.RegistrationIntentService"
            android:exported="false" >
        </service>
         

        <activity
            android:name="com.gluonhq.impl.charm.down.plugins.android.PushNotificationActivity"
            android:parentActivityName="javafxports.android.FXActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="javafxports.android.FXActivity" />
        </activity>
        <activity android:name="com.gluonhq.impl.charm.down.plugins.android.PermissionRequestActivity" />
        <activity
            android:name="com.gluonhq.impl.charm.down.plugins.android.NotificationActivity"
            android:parentActivityName="javafxports.android.FXActivity"
            android:screenOrientation="portrait" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="javafxports.android.FXActivity" />
        </activity>
    </application>

</manifest>
Bad
  • 33
  • 5
  • See [this question](https://stackoverflow.com/questions/39480931/error-broadcast-intent-callback-result-cancelled-forintent-act-com-google-and). Anyway it is impossible to help you if you don't post more details (build.gradle, AndroidManifest files, how do you register the device for push notifications, ...) – José Pereda Dec 10 '17 at 09:55
  • in my build I have this plugin: plugins 'settings','display','browser','cache', 'share','lifecycle', 'statusbar', 'storage', 'local-notifications', 'device','connectivity','dialer','orientation','runtime-args', 'push-notifications', 'pictures'. – Bad Dec 10 '17 at 18:14
  • Your manifest looks good. It contains the job that make notifications work when you force kill the app. On those devices, notifications show up if the app is running (foreground/background)? And they never work with the app closed? – José Pereda Dec 11 '17 at 14:41
  • If the app is running I see the notification in the status bar; when th app is closed no. Why the plugin use the old GCM and not the new FCM? – Bad Dec 11 '17 at 16:46

0 Answers0