gpt4 book ai didi

php - 方形通知 android(带 GCM)

转载 作者:行者123 更新时间:2023-11-30 02:20:26 25 4
gpt4 key购买 nike

我尝试将 GCM 放入我的 Android 应用程序中,我最终成功收到了“通知”,但它不是很好,只是一个类似的正方形。

enter image description here

不知道问题出在我这边(android部分)还是另一边(php)

在我这边,我认为唯一的问题可能在 list 上:

<?xml version="1.0" encoding="utf-8"?>    
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.googlecloudmessaging8"
android:versionCode="1"
android:versionName="1.0" >

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

<uses-permission android:name="android.permission.INTERNET"/>
<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.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

<permission android:name="com.example.googlecloudmessaging8.permission.C2D_MESSAGE"
android:protectionLevel="signature" ></permission>

<uses-permission android:name="com.example.googlecloudmessaging8.permission.C2D_MESSAGE"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<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=".GcmReceiver"
android:exported="true"
android:process=":remote"
android:permission="com.google.android.c2dm.permission.SEND">

<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />

<category android:name="com.example.googlecloudmessaging8" />
</intent-filter>
</receiver>

<service android:name=".GcmMessageHandler"></service>

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>

GCMR 接收器:

public class GcmReceiver extends WakefulBroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

ComponentName comp = new ComponentName(context.getPackageName(), GcmMessageHandler.class.getName());

startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}

}

GcmMessageHandler :

public class GcmMessageHandler extends IntentService{

String mes;
private Handler handler;

public GcmMessageHandler(){
super("GcmMessageHandler");
}


@Override
public void onCreate() {
super.onCreate();
handler = new Handler();
}

@Override
protected void onHandleIntent(Intent intent){
Bundle extras = intent.getExtras();

GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);

String messageType = gcm.getMessageType(intent);

mes = extras.getString("title");
showToast();

Log.i("GCM", "Received : (" + messageType + ") " +extras.getString("title"));

GcmReceiver.completeWakefulIntent(intent);

}

public void showToast(){
handler.post(new Runnable(){

@Override
public void run() {
Toast.makeText(getApplicationContext(), mes, Toast.LENGTH_LONG).show();
}
});
}

}

在 gcm_test.php 上,我看到了这个:

$aPushs[$iCpt]['message']       = 'message par defaut';
$aPushs[$iCpt]['link'] = 'http://www.google.fr/';

而且我只有一个黑色方 block 而不是“message par defaut”,有人知道为什么吗?(在其他设备上它是一个矩形,也是空的)

最佳答案

我认为您的代码与此类似: https://www.youtube.com/watch?v=Vd8bIkE29U4

请一步一步来。我已经尝试过了,而且效果很好。

此外,您可以在这里获取源代码引用我的github:

https://github.com/jbj88817/Google-Cloud-Messaging-GCM-ex

关于php - 方形通知 android(带 GCM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com