当应用程序完全关闭时,我正在尝试在 Xamarin 中处理 GCM 推送通知。按照 Xamarin 推送通知教程,我可以从 GCM 接收远程/推送通知,但是一旦我关闭应用程序,我就没有收到。这是我迄今为止尝试过的:
1.广播接收器:
public class MyGCMBroadcastReceiver : BroadcastReceiver {
public override void OnReceive (Context context, Intent intent)
{
Intent gcmListenerServiceIntent = new Intent(context,typeof(MyGcmListenerService));
Console.WriteLine ("Starting Broadcast Receiver...");
context.StartService (gcmListenerServiceIntent);
}
}
Run Code Online (Sandbox Code Playgroud)
显现:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="za.co.snappyhome.snappy.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.CAMERA" …Run Code Online (Sandbox Code Playgroud)我使用了一种流行的方法使我的应用程序自动启动在此处描述: 如何在启动时启动应用程序?
问题是应用程序不以logcat中的以下消息开头:
W/BroadcastQueue: Reject to launch app .../10186 for broadcast: App Op 60
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
PS.Android 5.0.2,手机华硕zenphone
当应用程序处于后台或关闭时,我已经搜索了很多关于通知的信息.我顺便使用Firebase云消息传递.它对我不起作用.我已经使用了Android设置,当应用程序位于前台或手机未锁定时,会收到通知.
onMessageReceived.notification payload.如何更改此设置,以便即使关闭或手机被锁定,应用也会始终收到通知?
PS.我阅读了有关受保护应用程序的打盹模式,即使我将我的应用程序与受保护的应用程序放在一起我什么也得不到.我正在测试华为P8 Lite.
AndroidManifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".activities.MainActivity"
android:configChanges="orientation"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".services.MyAppFirebaseMessagingService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service
android:name=".services.FirebaseIDService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action …Run Code Online (Sandbox Code Playgroud) android android-notifications firebase firebase-cloud-messaging