phonegap 百度云推

1 创建新工程

-----获取api key 和secret key

2,推送设置

3,新建安卓项目,并把应用包名 和 推送中设置的包名设置一致

4,下载百度云客户端sdk

5,解压,并添加libs文件夹文件到相应路径,并添加pushservice-4.2.0.63.jar到构建路径

6,添加 Demo\src\com\baidu\push\example 路径下的Utils.java到 包下

7,新建MyPushMessageReceiver类并继承FrontiaPushMessageReceiver

8,根据提示初始化所有方法,并复写onNotificationClicked方法

/**
     * 接收通知点击的函数。注:推送通知被用户点击前,应用无法通过接口获取通知的内容。
     *
     * @param context
     *            上下文
     * @param title
     *            推送的通知的标题
     * @param description
     *            推送的通知的描述
     * @param customContentString
     *            自定义内容,为空或者json字符串
     */
    @Override
    public void onNotificationClicked(Context context, String title,
            String description, String customContentString) {
        String notifyString = "通知点击 title=\"" + title + "\" description=\""
                + description + "\" customContent=" + customContentString;
        Log.d(TAG, notifyString);

        // 自定义内容获取方式,mykey和myvalue对应通知推送时自定义内容中设置的键和值
        if (!TextUtils.isEmpty(customContentString)) {
            JSONObject customJson = null;
            try {
                customJson = new JSONObject(customContentString);
                String myvalue = null;
                if (customJson.isNull("mykey")) {
                    myvalue = customJson.getString("mykey");
                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        // Demo更新界面展示代码,应用请在这里加入自己的处理逻辑
        updateContent(context, notifyString);
    }

    private void updateContent(Context context, String content) {

        MainActivity.url="http://www.sina.com";
        MainActivity.num=1;
        Intent intent = new Intent();
        intent.setClass(context.getApplicationContext(), MainActivity.class);

        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        context.getApplicationContext().startActivity(intent);

    }

9 修改AndroidManifest.xml文件

----------------------修改application节点 android:name="com.baidu.frontia.FrontiaApplication"

----------------------注册MyPushMessageReceiver类

xml文件如下

  <application android:hardwareAccelerated="true"
         android:icon="@drawable/icon"
          android:label="小洋"
           android:name="com.baidu.frontia.FrontiaApplication">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name=".SplashActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:configChanges="keyboardHidden" android:name=".GuideActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name=".MainActivity" />
        <activity android:configChanges="orientation|keyboardHidden" android:label="MediaViewActivity" android:name="com.baidu.android.pushservice.richmedia.MediaViewActivity" />
        <activity android:configChanges="orientation|keyboardHidden" android:label="MediaListActivity" android:launchMode="singleTask" android:name="com.baidu.android.pushservice.richmedia.MediaListActivity" />
        <receiver android:name="com.hn.esgj.MyPushMessageReceiver">
-                                                                                                                                                                                     <intent-filter>
-
                                                                                                                                                                                                                                                  <action android:name="com.baidu.android.pushservice.action.MESSAGE" />
                <action android:name="com.baidu.android.pushservice.action.RECEIVE" />
                <action android:name="com.baidu.android.pushservice.action.notification.CLICK" />
</intent-filter>
</receiver>
        <receiver android:name="com.baidu.android.pushservice.PushServiceReceiver" android:process=":bdservice_v1">
-                                                                                                                                                                                     <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
                <action android:name="com.baidu.android.pushservice.action.media.CLICK" />
            </intent-filter>
</receiver>
        <receiver android:name="com.baidu.android.pushservice.RegistrationReceiver" android:process=":bdservice_v1">
-                                                                                                                                                                                     <intent-filter>
                <action android:name="com.baidu.android.pushservice.action.METHOD" />
                <action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <data android:scheme="package" />
            </intent-filter>
</receiver>
        <service android:exported="true" android:name="com.baidu.android.pushservice.PushService" android:process=":bdservice_v1">
-                                                                                                                                                                                     <intent-filter>
                <action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
            </intent-filter>
</service>
    </application>

10 在主active的onCreate方法中 开启

    public void onCreate(Bundle savedInstanceState) {
        try{
            PushManager.startWork(getApplicationContext(), PushConstants.LOGIN_TYPE_API_KEY, "KH2j92etnCvrO0WyDLUQob4z") ;
        }catch (Exception e){

        }
        super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);
         Toast.makeText(getApplicationContext(), url, Toast.LENGTH_SHORT).show();
         super.setBooleanProperty("loadInWebView", true);
         super.loadUrl(url);
            this.num=0;
            this.url="file:///android_asset/www/index.html";
    }

11,到百度控制台推送通知做测试

理论上成功,服务器端请下载相应的sdk

时间: 2024-07-31 09:46:44

phonegap 百度云推的相关文章

跨平台移动开发phonegap/cordova 3.3全系列教程-百度云推送push

消息推送-百度push 选择百度云推送理由:专业.稳定.免费(Google GCM在国内有时无法正常使用) 打开网址,注册开发者帐号,登入. http://developer.baidu.com/bae/ 此处API key与Secret Key后面要用到,可以先复制到记事本中备用. 下载,在手机上安装apk客户端,打开PushDemo. 然后在开发者中心测试推送消息 如图: 此时手机端会收到推送的消息 如何集成到phonegap/cordova 添加插件cordova plugin add c

Android项目集成百度云推送,无法回调到PushMessageReceiver中onBind方法的问题与解决

今天准备集成百度云推送,因为据朋友说,百度云推送作为android的推送还是相对稳定的. 开发工具:android studio 1.2.1.1  系统:Mac os x 10.10.3 立即下载了最新的V4.4.1版本的百度云推送demo,仔仔细细按照文档一步一步做完.但是测试的时候,就是回调不了. 最后在百度云应用管理详情中,看见了“生成快速示例的按钮”,生成之后安装,发现可以正常使用.于是开始研究这个快速示例,最后发现只有一处不同:armeabi/libbdpush_V2_2.so和mip

Android 高仿微信实时聊天 基于百度云推送

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百度云推送仿一仿微信聊天了~~~ 首先特别感谢:weidi1989分享的Android之基于百度云推送IM ,大家可以直接下载:省了很多事哈,本例中也使用了weidi的部分代码,凡是@author way的就是weidi1989的代码~~ 1.效果图 核心功能也就上面的两张图了~~~我拿着手机和模拟器

Android使用第三方推送(二)百度云推送

时间过得好快,转眼就是12月了.工作了之后,发现节奏停不下来,像是被上了发条,再也由不得自己.工作日如流水,周末更是转瞬即逝.其实想想也是有时间的,只不过没有很好的利用,或者花在了没有意义的事情上面.人总是有惰性的,但是持续下去就不好了. 上周开始接触第三方云推送,先后体验了极光推送,个推和百度云推送,也感受了各个平台的特性.有的部署便捷,有的功能强大,有的稳定可靠.今天简单介绍一下百度云推送的使用. 百度云推送给我的感觉就是稳定可靠,毕竟是百度出品,值得信赖.而且富媒体推送也是免费,又胜出极光

百度云推送的Service在启动的时候自己退出了

============问题描述============ 大家好,我在使用百度云推送SDK的时候发现在AVD中可以正常收到推送通知,而在手机上却没办法收到. 在Logcat中发现这么一句 shouldStopSelf-------localPriority = 360;  other packageName = com.push.test--priority =384 从Logcat的其他信息来看百度云推送的Service自己退出了,请问各位这是什么原因导致的 ============解决方案1

使用【百度云推送】第三方SDK实现推送功能详解

之前介绍过如何使用shareSDK实现新浪微博分享功能,今天介绍如何使用百度云推送SDK实现Android手机后台推送功能. 运行效果如下 第一步,如果使用百度的SDK,当然要先成为百度的开发者啦,这个就不详述了.成为开发者之后,我们要建立一个应用,如下图所示 第二步,创建好应用之后,我们点击开方者服务管理,进入工程管理页面,然后点击左侧云推送,进入云推送功能页面,具体如下图 进入云推送详细页面之后,我们点击推送设置,设置好我们的应用的包名,然后点击快速实例,将系统给我们产生的示例代码下载下来

App之百度云推送

下载最新的Android SDK压缩包并解压,在新建工程或已有工程中增加百度云推送功能. 我下载的是 ,里面有一个同名的文件夹,文件夹中有 导入云推送jar包和so文件: 将解压后的libs文件夹中所有文件拷贝到您的工程的libs文件夹中.如果您的工程中没有其他的.so文件,建议只拷贝armeabi文件夹.如果您的工程中还使用了其他的.so文件,只需要拷贝对应目录下的.so文件即可.如果你使用的Android开发环境是Android Stutio,在工程中“src/main”目录中新建名为jni

消息推送之百度云推送Android集成与使用方法

这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路.好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来. 在此先吐槽一下.这个云推送虽然没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档,只是不知是百度哪个哥们做的文档,pdf做的也太不地体贴了:英文字符里面竟然有中文空格,复制到自己的项目中发现江山一片红,娘的,这猛一看还不一定能看得出来到底是哪里出了错. fo

百度云推送初尝试

今晚(不对,具体应该说是昨晚,哈哈),给师弟师妹开了个分享会,然后打算把他们分到各个师兄那边,让师兄带着他们去学.然后,师妹跑过来问我说,我这边有什么优势,想了想,这个得怎么说啊.然后,就糊弄她说:没优势..(注孤身的节奏啊),然后师妹说她要跑去另一个师兄那边,我问她为什么,然后她跟我说:那边可以学到百度云推送(怪我当时没学,唉浪费了大好机会,哈哈) 想到就因为这么一个原因,就痛失师妹,我不服!! 然后,有了下文. 1.进入官网:http://push.baidu.com/ 2.找到文档中心:h