文档章节

Android版添加phonegap--百度云插件教程

大街小巷
 大街小巷
发布于 2015/12/21 18:04
字数 1142
阅读 38
收藏 2

1.下载 百度云推送的SDK包

2.解压SDK包把相应的lib文件夹下的库文件拷贝到你当前项目的lib文件夹下面。
并将该库文件引入到你的项目中。jar包添加到工程的Java Build Path。

3.下载百度推送提供的demo包解压,复制相应的文件到你当前的项目中。
(1)拷贝资源文件夹res下面的相关图文件和layout文件(这里我们使用默认的相关样式,当然如果自己有能力可以直接写)

(2)拷贝java文件到你的项目中。

(3)PushMessageReceiver.java 这个是用来接受消息的可以使用官方的即可。这里需要把里面的报错的activity名换成自己的当前项目组activity。

(4)Utils.java 是一个用来查询应用的API Key的,可以略加修改直接使用

(5)CustomActivity.java 用来显示通知的Activity,这个就是app收到消息之后点击后的处理程序,这里可以直接修改。

(6)在Pgbaidupush.class里面修改Appkey,从百度开发者中心获取。


4.给当前项目添加权限
<!– Push service 运行需要的权限  –/>
<uses-permission android:name=”android.permission.INTERNET”/>
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
<uses-permission android:name=”android.permission.WRITE_SETTINGS” />
<uses-permission android:name=”android.permission.VIBRATE” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW”/>
<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
<uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />


<!– for log. –>
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.ACCESS_DOWNLOAD_MANAGER”/>
<uses-permission android:name=”android.permission.DOWNLOAD_WITHOUT_NOTIFICATION” />
<uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW”/>
<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
<uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />


5.添加配置信息
这里需要特别注意的是在你当前项目的主activity下面加上
android:launchMode=”singleTask”(为了防止程序的activity重复启动。)
 

添加自定义消息处理activity。
<activity
android:name=”com.××××.×××××.CustomActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”消息中心” >
</activity>


富媒体的配置
<!– push service rich media display –>
<activity
android:name=”com.baidu.android.pushservice.richmedia.MediaViewActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”MediaViewActivity” >
</activity>

<activity
android:name=”com.baidu.android.pushservice.richmedia.MediaListActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”MediaListActivity”
android:launchMode=”singleTask” >
</activity>


接受推送的客户端处理程序
<!– push service client –>
<receiver android:name=”com.××××.××××.PushMessageReceiver”>
<intent-filter>
<!– 接收push消息 –>
<action android:name=”com.baidu.android.pushservice.action.MESSAGE” />
<!– 接收bind,unbind,fetch,delete等反馈消息 –>
<action android:name=”com.baidu.android.pushservice.action.RECEIVE” />
<action android:name=”com.baidu.android.pushservice.action.notification.CLICK” />
</intent-filter>
</receiver>


接受消息的后台服务
<!– push service –>
<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:name=”com.baidu.android.pushservice.PushService”
android:exported=”true”
android:process=”:bdservice_v1″ />
<meta-data android:name=”api_key” android:value=”您的apikey” />
注意文章里面的×××是根据你项目情况来写的包名。


6. 添加Pgbaidupush。java插件到你项目。在java文件里配置你的apikey。


7.在config.xml文件里面配置你的插件信息。
<plugin name=”Pgbaidupush” value=”com.×××.×××××.Pgbaidupush”/>


8.拷贝Pgbaidupush.js文件到你的www包里面,并引入到你的html页面里面。
在页面内调用以下方法:
初始化推送:
function startpush() {
window.plugins.Pgbaidupush.pushStart(
function(success){alert(“success”);},
function(fail){alert(“encoding failed: ” + fail);}
);
}
这样在app启动之后就会注册该推送id,并开始监听该app。
 

停止推送:
function pushstop() {
window.plugins.Pgbaidupush.stopWork(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);


恢复推送:
function pushresume() {
window.plugins.Pgbaidupush.resumeWork(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


设置标签:
function settags() {
var tag = “aa”;
window.plugins.Pgbaidupush.setTags(
tag,
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


删除标签:
function deltags() {
var tag = “aaa”;
window.plugins.Pgbaidupush.delTags(
tag,
function(success) {alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


查看富媒体库:
function pushRichMedia() {
window.plugins.Pgbaidupush.RichMedia(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


查看历史消息:
function pushmsglist() {
window.plugins.Pgbaidupush.Msglist(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


获取UID 用来单播推送:
function Uid(){
window.plugins.Pgbaidupush.Uid(
function(success) {
var uid = JSON.parse(success)
var channel_id = uid.response_params.channel_id;
var user_id = uid.response_params.user_id;
$(“#uid”).html(“channel_id:”+channel_id+”<br/>user_id:”+user_id);
},
function(fail){alert(“encoding failed: ” + fail);}
);
}


接收穿透的消息
function callPushmsg(json){
var message=json.message;
document.getElementById(“msg”).innerHTML=message;
}


接收接收通知
function callPushNotification(json){
var title=json.title;
var content=json.content;
document.getElementById(“notice”).innerHTML=”title->”+title+”<br>”+”content–>”+content;
}


KeyMob支持百度广告、admob广告、广点通、mmedia、inmobi、chartboost、iad、adcolony视频广告等众多流行广告平台。目前是国内注册开发者最多,日广告展示量最大的移动广告平台,稳定的SDK、完美的技术支持和专业的客服都使KeyMob成为国内开发者首选。

© 著作权归作者所有

大街小巷
粉丝 8
博文 208
码字总数 130367
作品 0
长沙
私信 提问
基于PhoneGap的Android应用开发-Get started

PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。 PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列...

无鸯
2011/09/09
1K
1
phonegap安装 环境搭建与配置详解( 完整版 提供下载地址)

phonegap 安装 环境搭建 完整版 刚刚接触 phonegap 因为配环境遇到各种各样问题.花了一下午时间才完成,所以写一个篇文章希望能给大家节约点时间. 本文主讲windows系统下的phonegap的环境搭建...

james_laughing
2014/12/17
0
0
phonegap安装 环境搭建与配置详解( 完整版 提供下载地址)

phonegap 安装 环境搭建 完整版 刚刚接触 phonegap 因为配环境遇到各种各样问题.花了一下午时间才完成,所以写一个篇文章希望能给大家节约点时间. 本文主讲windows系统下的phonegap的环境搭建...

james_laughing
2014/12/17
0
0
使用The PhoneGap Developer App实现快速调试项目

如今,基于 PhoneGap 的混合 APP 开发技术更加成熟,优势更加凸显。移动互联网的迅猛发展,Android 和 iOS 的版本快速迭代,使 HTML5 的性能问题逐步解决。仅仅在 PhoneGap 官网上,已经有来...

crazymus
2015/04/26
0
0
phoneGap3.0安装步骤(以windows下的android环境为例):

phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) 1. 安装JRE,设置JAVAHOME,比如JAVAHOME=C:programJavaj...

kisshua
2014/03/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何使用 rsync 备份 Linux 系统的一些介绍

备份一直是 Linux 世界的热门话题。回到 2017,David Both 为 Opensource.com 的读者在使用 rsync 备份 Linux 系统方面提了一些建议,在这年的更早时候,他发起了一项问卷调查询问大家,在 ...

Linux就该这么学
26分钟前
2
0
以太坊私有链搭建

https://blog.csdn.net/Blockchain_lemon/article/details/80589123

Moks角木
今天
3
0
自律给我自信-为什么要自律

为什么要自律 混一天和努力一天 看不到任何差别 3天看不到任何变化 7天也看不到任何效果 但是 1个月后, 会看到话题不同 3个月后, 会看到气场不同 6个月后, 会看到距离不同 3年后, 会看到...

周大壮
今天
4
0
读书replay计划说明

突然脑袋一闪,我有了这样一个主意:通过写博客的方式,将我阅读的书中的内容replay出来。 我一般会找着我感兴趣的书去读,一般也会读书中我感兴趣的章节,或者当下对我有用的章节,所以这个...

wanxiangming
今天
1
0
CentOS7安装xrdp环境可实现远程桌面访问

CentOS7安装xrdp环境可实现远程桌面访问 2018-07-14 06:39:28 分类:运维 阅读(2051) 评论(0) 在"Ubuntu系统安装xrdp桌面客户端及实现远程连接桌面"文章中有分享过在Ubuntu系统中安装XRDP环境...

linjin200
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部