如何在C# .Net上通过GCM发送Android推送通知
我是所有Android GCM推送通知的新手,我已经阅读了堆栈帖子,但无法得到直接的答案.我还阅读在Android中创建推送通知,以更好地了解GCM的工作原理.我还使用了SDK提供的GCM-Demo-Server和GCM-DEMO-CLIENT.但是,这是我的疑问,以及到目前为止我尝试过的事情: 关于我提出的链接,具有应用程序寄存器以获取注册密钥的电话.这是使用同一应用的所有手机的唯一键? 在任何情况下,此注册密钥都会到期吗? (例如,在后台运行的应用程序) 假设我有注册密钥,我尝试了以下代码段通过GCM推送到我的应用程序.这写在c#.net上.请让我知道我是否可以使用以下代码段来实现上述内容: private string SendGCMNotification(string apiKey, string postData, string postDataContentType = "application/json") { Ser
2 2024-04-13
编程技术问答社区
调用谷歌GCM时未获授权
我试图使用Google GCM发送推送通知.但是,请获得一个webException,说远程服务器返回401不竞争.我不能伸出为什么它不起作用. 任何知道为什么不起作用的人? 这是我的代码: ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateServerCertificate); HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send"); Request.Method = "POST"; Request.KeepAlive = false;
0 2024-04-12
编程技术问答社区
添加HttpClient头文件会产生一个带有某些值的FormatException
这发生在针对Google Cloud Messaging编码的上下文中,但适用于其他地方. 考虑以下内容: var http = new HttpClient(); http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX"); 和 var http = new HttpClient(); http.DefaultRequestHeaders.Add("Authorization", "key=XXX"); 两者都会生成一个构造感受: system.formatexception:值key = xxx'的格式无效. 解决方案是删除等于符号. 挖掘反射器表明,在添加一个新的标头值时,有验证和解析代码的oodles.为什么这一切必要?这个客户不应该只是挡住我们吗? 您如何逃脱等于符号以使添加此值成功? 解决方案 不确定是否仍然相关
2 2024-04-11
编程技术问答社区
没有找到Gradle DSL方法:'comiple()'在放入gcm依赖性之后
一旦我将GCM的依赖性就面对这个问题. 错误:(50,0)找不到Gradle DSL方法:'comiple()' 可能的原因:项目"每个bill-codebase"可能是使用不包含该方法的Gradle版本. 打开的Gradle包装器Filethe Build File可能缺少Gradle插件. 应用Gradle插件 这是第50行的build.gradle文件, comiple 'com.google.android.gms:play-services-gcm:8.4.0' 我也在使用Play-Service 的这些服务 compile 'com.google.android.gms:play-services-maps:8.4.0' compile 'com.google.android.gms:play-services-identity:8.4.0' compile 'com.google.android.gms:play-services-
0 2024-04-04
编程技术问答社区
无法解决com.google.android.gcm.GCMBaseIntentService;Android studio
编辑:我解决了这个问题:) 此错误的原因: 在实施GCM客户端的教程中,有 link 下载演示的完整源代码. 已下载供参考,在build.gradle中添加了Google_play_service库. 做了一些建议的更改,例如sender_id,server_url,.. etc 将项目与Gradle同步并获得此错误. 我如何解决! 在Google大量之后,我发现此类不在Google_play_service库中,而是在GCM.Jar中,现在已弃用. 我不知道为什么Google给出了旧代码的链接并解释了文档中的最新代码. 然后我包括gcm.jar 错误消失了,得到了通知:) 希望这将有助于遇到这种麻烦的人! 我的旧问题 我是Android Studio的新手.我不明白build.gradle.今天,我正在按照此处给出的指令实施GCM-DEMO-CLIENT,开源源代码我的错误时,我得到了以下错误. /home/shani/Desktop/
错误:与依赖性'com.google.code.findbugs:jsr305'。
我在 Android Studio 2.2 Preview 1 中创建了一个新项目,并使用Android App和Google消息传递后端模块.这是应用程序: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.xxx.xxx" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes
安卓广播接收器在应用从运行中的应用列表关闭后未被调用
在尝试在Android应用中实现通知时,我看到如果用户从运行的应用程序列表中关闭应用程序(顶部滑动,然后水平滑动),则通知将不再起作用 - 无法正确戒断该应用程序根据Google规格的所有未来调用).使用后按钮有时会导致相同的行为,尽管并非总是如此. 我从我研究的所有内容中的理解是,只有用户停止的力量才能阻止广播接收器被调用. 这是来自Android清单的相关代码和设置,请注意,当应用程序打开或通过主页按钮左右时,所有这些都可以正常工作. Android表现相关部分:
接收BroadcastReceiver信息出错
我有一个在活动类中实现的广播媒介,该类别通过Google Cloud消息接受传入的消息.我想将此类用作聊天,所以在传入消息后,我使用一个void: public void Chatpat(String name, String message){ chatinput.add(name); chatinput.add(message); Chat chat_data[] = new Chat[chatinput.size()]; chatinput.toArray(); ChatAdapter adapter = new ChatAdapter(this, R.layout.listview_item_row, chat_data); chatList = (ListView) findViewById(R.id.listView1);
0 2024-04-03
编程技术问答社区
在不同的活动中处理收到的gcm推送通知?
我是Android开发的新手.我能够将通知推向设备.在我的应用程序中,有三种不同的活动.我遵循Google GCM客户端示例接收通知.现在,我需要根据活动活动有所不同,以不同的方式处理收到的推送消息.我了解到,可以通过注册多个接收器来解决此问题.我不知道该怎么做.你们能帮我吗?请/... 解决方案 在每个活动中注册不同的广播接收器.然后从GCMIntentService到Intent向这些活动广播GCM消息.
2 2024-04-03
编程技术问答社区
如何在安卓系统中从BroadcastReceiver向Fragment发送数据?
我正在尝试制作一个聊天应用程序.我有一个SlidingDrawer活动,它有很多片段,其中ChatFragment是一个.如果任何消息来自GCM服务,我在ChatFragment中,那么此消息将转到该片段并更新listView,因为我想在聊天时要更新chathwindow,现在我尝试在下面聊天时尝试做. gcmintentservice: public class GcmIntentService extends IntentService { public GcmIntentService() { super("GcmIntentService"); } @Override protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = Go
0 2024-04-03
编程技术问答社区
推送通知接收器不工作
我正在实施推送通知服务我的应用程序,我遵循教程 on Android开发人员.com ,但不幸的是,我没有收到任何通知. 我正在成功接收注册ID,但是,尽管后台服务获得了成功的响应,但该设备没有从后端收到任何通知. P.S:我确定从将通知发送到Google Cloud Server的后端服务的实现中. 任何人都可以帮助我解决这个问题..?,谢谢. 下面您可以找到我的实现. subtest.xml
在android中从服务中调用BroadCastReceiver以更新片段中的UI?
我想从service中更新fragment的UI. public class GcmIntentService extends IntentService { public GcmIntentService() { super("GcmIntentService"); } @Override protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this); // The getMessageType() intent parameter must be the intent you re
活动监听器-谷歌云信息-广播接收器
我已经在我的Android应用程序中实现了GCM,并且在接收消息方面工作正常. 根据Google提供的示例. 我的问题是:如果用户打开应用程序,我想在该视图中更新一些结果 - 如何完成?我首先考虑将这项活动注册为听众,无论是广播的回收者.但是,这必须是听众的静态列表,因为将设置广播的新实例 - 但这也许不是这样做的方法. 这就是我目前拥有的 public class GCMBroadcastReceiver extends WakefulBroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ComponentName comp = new ComponentName(context.getPackageName(),
2 2024-04-03
编程技术问答社区
一些设备没有收到GCM的推送,即使所有的信息都从服务器上成功发出。
我们正在开发使用GCM的应用程序.它在大多数手机上都可以正常工作,但是,我们有两款手机(Galaxy Note 2和Galaxy S Plus),这些电话未接收消息.也许这只是广播接收器未被调用. 服务器端推: $data = array( 'data' => array('message' => $messageData), 'delay_while_idle' => false, 'type' => 'New', 'flag' => 1, 'registration_ids' => $registrationIdsArray ); $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_URL, "https://android.g
0 2024-04-03
编程技术问答社区
GCM广播接收机setResultCode使用
我正在使用Android开发人员的GCM示例,但无法理解 setResultCode(activity.result_ok). 哪个收到此消息的组件?谁在打电话并收到它? 这是示例 public class GcmBroadcastReceiver extends WakefulBroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ComponentName comp = new ComponentName(context.getPackageName(),GcmIntentService.class.getName()); startWakefulService(context, (intent.setComponent(comp))); setResultCode(Activity.RESULT_OK); // ????? } }
0 2024-04-03
编程技术问答社区
点击通知时发送广播
我有一个基本上是WebView和GCM通知的应用程序.我想实现以下操作:如果用户在应用程序中并收到通知,当他单击通知时,我希望WebView加载通知中提供的URL. 我正在尝试通过使用广播接收器来实现这一目标,但它不起作用. 我在主动脉中动态注册接收器: private void registerNotificationReceiver() { final IntentFilter filter = new IntentFilter(); filter.addAction(ACTION_LOAD_URL_FROM_NOTIFICATION); Log.i(TAG, "registerNotificationReceiver()"); this.receiver = new BroadcastReceiver() { @Override public void
背景应用程序的GCM推送通知导致崩溃
如果我的应用程序在后台(服务)中运行,我偶然发现了一个问题,以接收GCM消息.在我的情况下,我没有收到GCM消息(请注意,这与通常如何接收GCM那样,例如在这里),活动管理器杀死了该应用程序.因此,我想知道我是否有概念上的误解或这是一个普遍的问题. 背景 我有一个在前景(活动)和背景(服务)中运行的Android应用程序.该应用程序附加到持续通知,以确保该应用程序继续运行,即使用户打开Android TaskManager并将应用程序刷掉.该应用程序使用WawefulBroadCastreCeiver和一个IntentService接收和处理GCM消息(两者都在清单文件中注册,并设置所有权限).据我所知,这是Google建议处理GCM消息的建议模式.可以看到类似的解决方案在这里问题/28251934/waverfulbroadcastreceiver-onreceive-not-triggering-android-gcm">在这里但是,如果需要,我也可以添加代码示例.我知道
0 2024-04-03
编程技术问答社区
带有自定义广播接收器的GCM
我正在应用程序中实现GCM通知.因为我使用我的代码来生成大量的应用程序,以不同的软件包名称我无法使用标准mypackage.gcmintentservice名称.当生成应用程序时,我只会在清单和更改R类的进口中更改.所以我推动了自己的广播 public class GCMReceiver extends GCMBroadcastReceiver { @Override protected String getGCMIntentServiceClassName(Context context) { return GCMIntentService.class.getName(); } } 返回gcmintentservice的名称,无论包装名称如何. 这是我的清单:
0 2024-04-03
编程技术问答社区