umeng友盟消息推送功能集成(本人使用的是eclipse開發)android
觀看地址以下:app
注意:有兩種sdk若是用戶已經集成支付寶的就下載no-uid版本的sdkeclipse
下載地址:http://download.csdn.net/detail/lr393993507/9634730工具
如圖 測試
增長以下內容:ui
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.umeng.message.lib" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <!-- 必選 --> 8 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 9 <uses-permission android:name="android.permission.INTERNET" /> 10 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 11 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 12 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 13 <uses-permission android:name="android.permission.WAKE_LOCK" /> 14 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 15 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 16 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 17 <uses-permission android:name="android.permission.GET_TASKS" /> 18 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 19 20 <!-- 可選 --> 21 <uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" /> 22 <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" /> 23 <uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" /> 24 <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" /> 25 <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 26 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 27 <uses-permission android:name="android.permission.VIBRATE" /> 28 <uses-permission android:name="android.permission.SEND_SMS" /> 29 <uses-permission android:name="android.permission.RECEIVE_SMS" /> 30 <uses-permission android:name="android.permission.READ_SMS" /> 31 32 <application android:allowBackup="true" > 33 <receiver 34 android:name="com.umeng.message.NotificationProxyBroadcastReceiver" 35 android:exported="false" > 36 </receiver> 37 <receiver 38 android:name="com.umeng.message.SystemReceiver" 39 android:process=":push" > 40 <intent-filter> 41 <action android:name="android.intent.action.BOOT_COMPLETED" /> 42 </intent-filter> 43 <intent-filter> 44 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 45 </intent-filter> 46 <intent-filter> 47 <action android:name="android.intent.action.PACKAGE_REMOVED" /> 48 49 <data android:scheme="package" /> 50 </intent-filter> 51 </receiver> 52 <receiver 53 android:name="com.umeng.message.MessageReceiver" 54 android:exported="false" 55 android:process=":push" > 56 <intent-filter> 57 <action android:name="org.agoo.android.intent.action.RECEIVE" /> 58 </intent-filter> 59 </receiver> 60 <receiver 61 android:name="com.umeng.message.ElectionReceiver" 62 android:process=":push" > 63 <intent-filter> 64 <action android:name="org.agoo.android.intent.action.ELECTION_RESULT_V4" /> 65 66 <category android:name="umeng" /> 67 </intent-filter> 68 </receiver> 69 <receiver 70 android:name="com.umeng.message.RegistrationReceiver" 71 android:exported="false" > 72 <intent-filter> 73 <action android:name="${applicationId}.intent.action.COMMAND" /> 74 </intent-filter> 75 </receiver> 76 <receiver android:name="com.umeng.message.UmengMessageBootReceiver" > 77 <intent-filter> 78 <action android:name="android.intent.action.BOOT_COMPLETED" /> 79 </intent-filter> 80 </receiver> 81 82 <service 83 android:name="com.umeng.message.UmengService" 84 android:exported="true" 85 android:label="PushService" 86 android:process=":push" > 87 <intent-filter> 88 <action android:name="${applicationId}.intent.action.START" /> 89 </intent-filter> 90 <intent-filter> 91 <action android:name="${applicationId}.intent.action.COCKROACH" /> 92 </intent-filter> 93 <intent-filter> 94 <action android:name="org.agoo.android.intent.action.PING_V4" /> 95 96 <category android:name="umeng" /> 97 </intent-filter> 98 </service> 99 <service 100 android:name="com.umeng.message.UmengIntentService" 101 android:process=":push" /> 102 <service 103 android:name="com.umeng.message.UmengMessageIntentReceiverService" 104 android:exported="true" 105 android:process=":push" > 106 <intent-filter> 107 <action android:name="org.android.agoo.client.MessageReceiverService" /> 108 </intent-filter> 109 <intent-filter> 110 <action android:name="org.android.agoo.client.ElectionReceiverService" /> 111 </intent-filter> 112 </service> 113 <service 114 android:name="com.umeng.message.UmengMessageCallbackHandlerService" 115 android:exported="false" > 116 <intent-filter> 117 <action android:name="com.umeng.messge.registercallback.action" /> 118 </intent-filter> 119 <intent-filter> 120 <action android:name="com.umeng.message.unregistercallback.action" /> 121 </intent-filter> 122 <intent-filter> 123 <action android:name="com.umeng.message.message.handler.action" /> 124 </intent-filter> 125 <intent-filter> 126 <action android:name="com.umeng.message.autoupdate.handler.action" /> 127 </intent-filter> 128 </service> 129 <!-- If you donot want to use the standard notification bar in SDK, you can define IntentService instead to handle message. --> 130 131 <service 132 android:name="com.umeng.message.UmengDownloadResourceService" 133 android:exported="false" /> 134 <service 135 android:name="com.umeng.message.local.UmengLocalNotificationService" 136 android:exported="false" /> 137 </application> 138 139 </manifest>
注意:this
AndroidManifest.xml
中的${applicationId}
替換成爲本身項目的包名。project.properties
,在裏面加入manifestmerger.enabled=true
,同時使主工程的minSdkVersion、targetSdkVersion與PushSDK的minSdkVersion、targetSdkVersion保持一致。在工程的Application Module裏的AndroidManifest.xml中的<Application>
標籤下添加:spa
<meta-data android:name="UMENG_APPKEY" android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" </meta-data> <meta-data android:name="UMENG_MESSAGE_SECRET" android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" </meta-data>
把上述的UMENG_APPKEY
和UMENG_MESSAGE_SECRET
的值修改成和本身應用對應的值。.net
務必
在工程的Application類的 onCreate()
方法中開啓推送服務,不管推送是否開啓都須要調用此方法:code
mPushAgent = PushAgent.getInstance(this); mPushAgent.onAppStart(); mPushAgent.enable(); String device_token = UmengRegistrar.getRegistrationId(this);//獲取手機device token 惟一的
而後打包生成app,開始消息推送功能測試!