我的問題是,我需要我的應用程序總是爲喚醒接收通知,因爲我想創建像WhatsApp的聊天應用程序,但是當應用程序被關閉的通知不工作,我已經閱讀http://developer.android.com/intl/es/guide/components/services.html和http://developer.android.com/intl/es/guide/components/processes-and-threads.html,我還以爲如果我創建等工藝加工而成的android:上GcmListenerService進程屬性,我可以保活的服務,但沒有奏效如何在android上保持始終清醒的GcmListenerService?
,我想到的是覆蓋從GcmListenerService的onStartCommand方法的另一種方式,並返回START_STICKY不斷
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
但這種方式的問題是,GcmListenerService具有onStartCommand法最後,所以我不能覆蓋該方法
等Android文檔沒有解決這個問題?
唯一一個解決方案,我能找到的就是去上我的手機設置,之後進入省電---->保護的應用程序,並檢查我的應用程序,以保持我的應用程序,即使工作時我的應用程序被關閉
所以任何人都可以解決這個問題? 感謝
編輯#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我沒有GcmReceiver類,我用com.google.android.gms.gcm.GcmReceiver包我有GcmListenerService類 – hvar90