1. 程式人生 > >極光推送---安卓Demo

極光推送---安卓Demo

ges 網絡 同名 roi sta 復制 ava tro return

對於一個一直幹.net的程序媛來說。冷不丁的讓小編幹安卓,那種感覺就好似小狗狗咬小刺猬一樣,不知道從哪兒開始下手,對於小編來說。既是挑戰更是機遇,由於知識都是相通的。再者來說,在小編的程序人生中,留下最珍貴的記憶,盡管以後小編不一定從事安卓這個行業,代碼世界裏,非常多種事,有的甜蜜,有的溫馨,有的婉轉成歌。有的綿延不息,在這些故事裏,我們唯一的共通之處就是,某年,某月,某個波瀾不驚的日子裏。以前非常愛非常愛你。愛你--這段實習的日子裏,安卓帶給小編的種種的驚喜。

接下來。小編就和小夥伴們分享一下這兩天小編研究的極光推送。再此感謝鄭博小朋友的耐心指導,首先,我們來了解一下什麽是極光推送。小編剛聽到這個名字,哇哦,這是什麽呢?聽著就低調奢華有內涵,還極光推送?是要用到光麽?小編又土鱉了,咳咳,所謂的極光推送呢就是一個面向普通開發人員開放的。免費的第三方消息推送服務。接著小編就和小夥伴分享一下。怎樣實現極光推送這個小功能。

第一步,創建帳號進入極光推送後。首先顯示的是創建應用的界面。填上你的應用程序的名稱,以及 Android包名這二頂就能夠了,Portal上創建應用。填寫對應的應用名稱,和應用的包名,註意這裏的包名要和project裏面的名稱保持一致。例如以下圖所看到的:

技術分享

第二步。點擊 ”下載應用Example “後。小夥伴將下載到一個 .zip 壓縮文件。

解壓後,即看到一個同名文件夾。這個文件夾下,是一個 Android 項目裏的全部文件。小夥伴們能夠把官方的Demo下載下來參考參考,我們須要用到官方Demo裏面的包文件。例如以下圖所看到的:

技術分享

第三步,我們在eclipse裏創建一個Android的工廠,libs裏面須要用到的相關文件復制到我們的demo裏面,例如以下圖所看到的:

技術分享

第四步。我們來編寫我們的Demo。由於小編初次接觸Android。官網上關於極光推送的小樣例,對於小編來說。看的也非常吃力,在鄭博小夥伴的幫助下,小編把官網上的Demo改造了一下。稍稍的簡單了一丟丟,解下來,我們開始編寫代碼。首先我們來編寫MainActivity裏面的代碼,例如以下圖所看到的:

package com.example.such;


import cn.jpush.android.api.JPushInterface;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        JPushInterface.setDebugMode(true);
        JPushInterface.init(this);
        
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

第五步。我們來編寫AndroidManifest.xml裏面的代碼,例如以下所看到的:

<?xml version="1.0" encoding="utf-8"?

> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.such" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> <permission android:name="com.example.such.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /> <!-- Required 一些系統要求的權限。如訪問網絡等--> <uses-permission android:name="com.example.such.permission.JPUSH_MESSAGE" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <!-- Optional for location --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.such.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- Required . Enable it you can get statistics data with channel --> <meta-data android:name="JPUSH_CHANNEL" android:value="07058465be2a1d937246352d"/> <meta-data android:name="JPUSH_APPKEY" android:value="187f7628001c1503d487c401" /> <!-- </>值來自開發人員平臺取得的AppKey--> <!-- Required SDK核心功能--> <activity android:name="cn.jpush.android.ui.PushActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden" > <intent-filter> <action android:name="cn.jpush.android.ui.PushActivity" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="com.example.such" /> </intent-filter> </activity> <!-- Required SDK核心功能--> <service android:name="cn.jpush.android.service.DownloadService" android:enabled="true" android:exported="false" > </service> <!-- Required SDK 核心功能--> <service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false"> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTER" /> <action android:name="cn.jpush.android.intent.REPORT" /> <action android:name="cn.jpush.android.intent.PushService" /> <action android:name="cn.jpush.android.intent.PUSH_TIME" /> </intent-filter> </service> <!-- Required SDK核心功能--> <receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true" > <intent-filter android:priority="1000"> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!--Required 顯示通知欄 --> <category android:name="com.example.such" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> <!-- Optional --> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver> <!-- Required SDK核心功能--> <receiver android:name="cn.jpush.android.service.AlarmReceiver" /> </application> </manifest>

第六步。編寫完代碼之後,我們在Portal上推送通知,假設小夥伴的 Android 手機接在電腦上了,則這個 JPush Example 應用就能夠安裝上,並執行起來了。做下一步動作之前。請確保小夥伴們的手機上的網絡是可用的。比方我們要推送的內容例如以下所看到的:

技術分享

第七步。我們來看看小編的手機,會有怎麽樣的奇跡,聲明一下,以下這張圖的顏值不是非常高,小夥伴們就將就看一下哈:

技術分享

小編寄語:該博客。小編基本的簡單的介紹了一下極光推送的相關知識,然後參考著官網上的Demo,小編又自己又一次編寫了一個。對於各路Android大神來說。這可能不值得一提。可是對於小編來說,開心ing。還是那句話,對於小編來說,既是挑戰更是機遇,由於知識都是相通的,再者來說。在小編的程序人生中。留下最珍貴的記憶。盡管以後小編不一定從事安卓這個行業。代碼世界裏。非常多種事,有的甜蜜,有的溫馨,有的婉轉成歌,有的綿延不息,在這些故事裏,我們唯一的共通之處就是,某年,某月,某個波瀾不驚的日子裏,以前非常愛非常愛你!愛你--這段實習的日子裏,安卓帶給小編的種種的驚喜,實習生活。故事仍在繼續`(*∩_∩*)′......

極光推送---安卓Demo