我的问题是我需要我的应用程序总是醒着才能收到通知,因为我想创建一个像whatsapp这样的聊天应用程序,但是当应用程序关闭时,通知不起作用,我已阅读http://developer.android.com/intl/es/guide/components/services.html和http://developer.android.com/intl/es/guide/components/processes-and-threads.html并且我认为如果我在GcmListenerService上使用android:process属性创建了其他进程,我可以保持服务但不起作用
我认为的另一种方式是从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>
更新
我发现了我的真正问题,就是这个how can i put this configuration on my huawei cellphone?
答案 0 :(得分:0)
这就是广播接收机要做的事情。你可能忘记了或者与接收器有关的地方不匹配,但你没有提供足够的代码,所以很难说清楚。
我还建议您尝试缩小您所面临的问题。你不能假设手机设置是最后的解决方案。 Android和谷歌为您开发了一个很棒的框架,所以使用它......