Моя проблема в том, что мне нужно, чтобы мое приложение всегда бодрствовало, чтобы получать уведомления, потому что я хочу создать приложение для чата, такое как whatsapp, но когда приложение закрыто, уведомления не работают, я прочитал http://developer.android.com/intl/es/guide/components/services.html и http://developer.android.com/intl/es/guide/components/processes-and-threads.html, и я подумал, что если я создал другой процесс с андроидами: атрибутом процесса на GcmListenerService я мог угаснуть службу, но это не сработалокак держать всегда бодрствующий GcmListenerService на Android?
другого пути, который я думал, был перекрывая onStartCommand метода из GcmListenerService и вернуть START_STICKY постоянного
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
, но проблема с этим способом заключается в том, что GcmListenerService имеет onStartCommand с окончательным, поэтому я не могу переопределить этот метод
поэтому на документации по android нет решения этой проблемы?
Единственное решение, которое я могу найти, это перейти к настройке на моем мобильном телефоне, а после этого перейти к энергосбережению ----> защищенным приложениям и проверить приложение, чтобы мое приложение работало, даже когда мое приложение было закрыто
У кого-нибудь есть решение этой проблемы? благодаря
Edit # 2
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="schan.main"
>
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="17"/>
<permission android:name="schan.main.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="schan.main.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Schan" >
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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="schan.main" />
</intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
</receiver>
<service
android:name="schan.main.MyGcmListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</service>
<service
android:name="schan.main.MyInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
android:name="schan.main.RegistrationIntentService"
android:exported="false">
</service>
<activity
android:name=".LoginActivity"
android:icon="@mipmap/ic_launcher"
android:label="@string/login"
android:parentActivityName=".MainActivity"
android:theme="@style/Theme.Schan" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="schan.main.MainActivity" />
</activity>
<activity
android:name=".SigupActivity"
android:label="@string/joinus"
android:parentActivityName=".MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="schan.main.MainActivity" />
</activity>
<activity
android:name=".Alert"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/title_activity_alert_dialog" >
</activity>
</application>
</manifest>
UPDATE
я нашел мою реальную проблему, это один how can i put this configuration on my huawei cellphone?
Ваш 'GcmReceiver' должен запускаться, даже если приложение закрыто. Я на самом деле тестирую это прямо сейчас, с настройкой, как и у вас, и работает для меня. Покажите, как выглядит ваш класс 'GcmReceiver'. –
@ DanielNugent спасибо за ваш ответ, на моем мобильном телефоне не работает, это работает только в том случае, если мое приложение открыто или если оно находится в фоновом режиме, но если это полностью закрыто, я не получаю уведомление – hvar90
@ DanielNugent i dont есть класс GcmReceiver, который я использовал пакет com.google.android.gms.gcm.GcmReceiver у меня есть класс GcmListenerService – hvar90