http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/sdk/clientsdk。
public class DemoApplication extends FrontiaApplication { @Override public void onCreate() { //必须加上这一句,否则会崩溃 super.onCreate(); } }
这个application体现整个app的生命周期,倘若你没初始化,manifest中的初始化不可少。你要加上android:name的标签。代码便如下:
<application android:name="com.baidu.push.example.DemoApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
当里个当,这个application中的oncreate函数必须加上这么一句呀!代码这么咋:
FrontiaApplication.initFrontiaApplication(Context context)
当里个当,权限是个啥玩意,有了才能玩,一定要加上,manifest这个文件中,一定要加上,代码便爬下:
<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.DISABLE_KEY GUARD" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
以上是代码,有了这些的代码,security的异常快快滚回家,从此logcat文件再也不见他.
当里个当,一个Reciver代码要注册,多了接收者,推送这个鬼,请到碗里来。代码怎么样,抬头自己瞅。
<!-- push service client --> <receiver android:name="your.package.MyPushMessageReceiver"> <intent-filter> <!-- 接收 push消息 --> <action android:name="com.baidu.android.pushservice.action.MESSAGE" /> <!-- 接收 bind、setTags等 method的返回结果 --> <action android:name="com.baidu.android.pushservice.action.RECEIVE" /> <!-- 可选。接受通知点击事件,和通知自定义内容 --> <action android:name=" com.baidu.android.pushservice.action.notification.CLICK”/> </intent-filter> </receiver>
当里个当,一个Service劳模对象不可少,我该字母哦做,继续查资料,manifest清单又派上大用场,这就是源码:
<!-- push service start --> <!-- 用于接收系统消息以保证 PushService正常运行 --> <receiver android:name="com.baidu.android.pushservice.MyPushServiceReceiver" 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> <!-- Push服务接收客户端发送的各种请求--> <!-- 注意:RegistrationReceiver 在 2.1.1及之前版本有拼写失误,为 RegistratonReceiver ,用新 版本 SDK 时请更改为如下代码--> <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> <!-- Push 服务 --> <service android:name="com.baidu.android.pushservice.PushService" android:exported="true" android:process=" bdservice_v1"/>