关闭

极光推送---安卓Demo

标签: 实例java
2644人阅读 评论(44) 收藏 举报
分类:

        对于一个一直干.net的程序媛来说,冷不丁的让小编干安卓,那种感觉就好似小狗狗咬小刺猬一样,不知道从哪儿开始下手,对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下最珍贵的记忆,虽然以后小编不一定从事安卓这个行业,代码世界里,很多种事,有的甜蜜,有的温馨,有的婉转成歌,有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里,曾经很爱很爱你!爱你--这段实习的日子里,安卓带给小编的种种的惊喜。

        接下来,小编就和小伙伴们分享一下这两天小编研究的极光推送,再此感谢郑博小朋友的耐心指导,首先,我们来了解一下什么是极光推送,小编刚听到这个名字,哇哦,这是什么呢?听着就低调奢华有内涵,还极光推送?是要用到光么?小编又土鳖了,咳咳,所谓的极光推送呢就是一个面向普通开发者开放的,免费的第三方消息推送服务。接着小编就和小伙伴分享一下,如何实现极光推送这个小功能。

        第一步,创建帐号进入极光推送后,首先显示的是创建应用的界面。填上你的应用程序的名称,以及 Android包名这二顶就可以了,Portal上创建应用,填写相应的应用名称,和应用的包名,注意这里的包名要和工程里面的名称保持一致,如下图所示:

         

         第二步,点击 ”下载应用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,还是那句话,对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下最珍贵的记忆,虽然以后小编不一定从事安卓这个行业,代码世界里,很多种事,有的甜蜜,有的温馨,有的婉转成歌,有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里,曾经很爱很爱你!爱你--这段实习的日子里,安卓带给小编的种种的惊喜,实习生活,故事仍在继续`(*∩_∩*)′......

6
1
查看评论

3分钟实现极光推送的android demo

1、来到极光推送的官网https://www.jiguang.cn/push,注册登录 2、创建一个应用 3、应用的设置,是否支持Winphone,是和否任意选择,我选择的是否 4、应用创建成功后,下载demo 5、解压demo...
  • u014520797
  • u014520797
  • 2016-08-12 10:09
  • 1748

Android 中使用极光推送消息详细介绍(一)

简介在Android开发中,服务器有时候会向客户端推送一些用户可能感兴趣的消息,比如:淘宝,网易新闻,美团等都会向我们客户端推送消息.今天我就介绍一个第三方免费推送消息的服务:极光推送官方资源官方文档: http://docs.jiguang.cn/client/android_sdk/ 3 分...
  • Greathfs
  • Greathfs
  • 2016-07-31 01:17
  • 35410

极光推送Demo学习

主要功能 保持与服务器的⻓连接,以便消息能够即时推送到达客户端 接收通知与⾃定义消息,并向开发者App 传递相关信息 主要特点 客户端维持连接占⽤资源少、耗电低 SDK丰富的接⼝,可定制通知栏提⽰样式 服务器⼤容量、稳定 jpush-sdk_v2.x.y.zip 集成压缩包内容 AndroidMa...
  • w5761499123
  • w5761499123
  • 2016-03-26 15:37
  • 1808

JAVA SDK 极光推送后台DEMO

pom导依赖 <properties> <comLog.version>1.1.1</comLog.version> </properties> <dependencies> <depende...
  • Smile_Miracle
  • Smile_Miracle
  • 2017-02-28 13:43
  • 3159

Android之极光推送SDK集成和基础功能的实现

Android之极光推送SDK集成和基础功能的实现
  • Android_Cll
  • Android_Cll
  • 2017-02-12 09:16
  • 14822

ThinkPHP框架整合极光推送DEMO

极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。     本篇博文讲述如何在将极光推送DEMO整合到ThinkPHP框架中,我使用的是极光推送PHP_DEMO_V3.4.3版本: &#...
  • Zhihua_W
  • Zhihua_W
  • 2016-08-13 09:22
  • 5969

# Android 极光推送服务器端和移动端

Android 极光推送服务器端和移动端这里是Android 有关服务器端进行推送和手机客户端接收的一些简单的例子 服务器端采用的是MyEclipse2014,手机端是Android studio 2.0下面是一个简单的JSP页面代码<body> <form action=...
  • qq_24536171
  • qq_24536171
  • 2016-12-22 17:07
  • 1002

极光推送demo下载运行错误

极光推送demo 运行错误的解决方案
  • xiaonadiandian
  • xiaonadiandian
  • 2015-04-17 09:38
  • 1193

JPush极光推送快速创建Android Demo

第一步:创建极光推送开发者帐号第二步:Portal上创建应用第三步:下载应用Example第四步:把Example(Android项目)导入 Eclipse 里第五步:运行 Example 这个应用第六步:Portal上推送消息第七步:手机上收到消息第八步:在LogCat中查看收到的消息 ...
  • wtyvhreal
  • wtyvhreal
  • 2015-01-01 14:15
  • 1775

Android客户端与PHP服务端通信(三)---极光推送注册使用

概述 推送消息的方式有很多,在这里我选择了极光推送。本节分为上下两部分,首先通过注册极光推送并使用其Demo程序来看一下推送的效果,然后再一步一步的修改到自己的应用上。 注册登录极光推送 开发人员基本上都了解使用第三方的库,很多都需要注册才能使用,极光推送也不例外。直接登录极光推送官网https:/...
  • mybelief321
  • mybelief321
  • 2015-05-03 00:00
  • 3252
    个人资料
    • 访问:927418次
    • 积分:44827
    • 等级:
    • 排名:第86名
    • 原创:257篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10819条
    你只管努力,剩下的交给时光!
    博客专栏
    QQ之家 连接我们的ODBC
    QQ联系我