(以上純屬巧合)php
以相聲風格說一說百度雲推送會是什麼效果了。android
百度雲推送,就他媽三個字呀,當裏個當,當裏個當.快呀呀準呀省,快呀呀是個啥,如箭同樣推過去。準字嗎是個嗎,億萬數據中最精確給他。省字什麼啊,有了雲推送,流量沒有漲,沒有云推送,流量刷嘩嘩。當裏個當,當裏個當。你是開發者,怎麼來用它,你去看文檔,文檔哪兒有,網址再這呀。http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/sdk/clientsdk。編程
上面一小段,咱們說了嗎說了嗎,說了雲推送的大致框架,當裏個當,當裏個當.接下一小段,咱們要幹嗎要幹嗎,來講說開發的具體事情呀。app
打開這文檔,文檔這麼長,一共有那32個頁。我撇機撇機大嘴巴,這讓我怎麼看。我找啊找啊找,當裏個當,當裏個當.找的我老眼又昏花。以我多年編程的屁經驗,首先應該把那入口吧,就像一切函數有那main函數。項目中有個函數叫作oncreate函數。源代碼是這樣的:框架
public class DemoApplication extends FrontiaApplication { @Override public void onCreate() { //必須加上這一句,不然會崩潰 super.onCreate(); } }
這句代碼呀,真的要加上,不然真的會崩潰。ide
當裏個當,這個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函數必須加上這麼一句呀!代碼這麼咋:google
FrontiaApplication.initFrontiaApplication(Context context)
當裏個當,權限是個啥玩意,有了才能玩,必定要加上,manifest這個文件中,必定要加上,代碼便爬下:spa
<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文件不再見他..net
當裏個當,一個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"/>
當裏個當,這就是代碼,一個推送服務已介紹,若是要進步瞭解,懇請你們本身找。
當裏個當,以上的篇幅,只是王婆來賣瓜,賣瓜又自詡。
當裏個當,百度雲推送,方便又好用。特推,jpush簡直要弱爆,騰訊的產品,阿里的技術靈魂護體,表明了中國牛逼互聯網的光榮傳統和歷史,不要給google,amzon任何機會,李彥宏生日快樂。