精华内容
下载资源
问答
  • 小米推送消息推送官方Demo,有Eclipse和android studio两种版本.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 今天所说的内容在android studio 里面使用的 极光推送消息,如何使用和所遇到的问题和解决方法。 首先要登陆https://www.jpush.cn/这个网站,如果你没有账号请注册。登陆以后选择文档——>android Sdk 集成指南。...

    今天所说的内容在android studio 里面使用的 极光推送消息,如何使用和所遇到的问题和解决方法。

    首先要登陆https://www.jpush.cn/这个网站,如果你没有账号请注册。登陆以后选择文档——>android Sdk 集成指南。根据这个指南操作即可。注意的是,需要先下载jpush-android-x86-2.0.5.zip,这个包。在配置清单文件时(AndoridManifest.xml )选择android studio 的配置就行了。配置完成之后。运行可能会出错:

    665-2665/com.thinker.test E/JPush: [JPushGlobal] Get sdk version fail![获取sdk版本失败!]

    解决办法:看图所示,添加红线的代码即可!


    这个问题解决之后。就可以发送消息了

    推送消息的时候,要注意,一定要选择当前的应用哦。



    展开全文
  • 推荐Android开发者将现有项目迁移到Android Studio环境,并在Android Studio下更快地实现SDK的集成工作。本文档介绍Android Studio和Eclipse开发环境下导入SDK资源进行集成的步骤,需要仔细阅读文档和Demo工程。1、 ...

    推荐Android开发者将现有项目迁移到Android Studio环境,并在Android Studio下更快地实现SDK的集成工作。

    本文档介绍Android Studio和Eclipse开发环境下导入SDK资源进行集成的步骤,需要仔细阅读文档和Demo工程。

    1、 登录百度慧推,点击创建应用使用带有签名的apk包上传创建应用;

    bc2808686f2e914821b947375a1b7206.png

    a722674d99c304acf5c51daf4f9202a0.png

    2、 创建成功后,将返回应用列表,可在应用详情页查看和获取AppKey、SecKey,集成sdk的时候会用到这些信息

    80ccf067fe9e188c9b6fadcd6a8df6dd.png

    获取sdk并解压

    拿到SDK后进行解压。

    导入SDK

    创建一个新的Module,导入SDK中取出的AAR文件,这里以techain*.aar为例,module取名:techain(名称任意,这里只是举例),如下图所示: a2ce8b2ad84f1a4f0a36b8ff6982b5c5.png

    cc2a24de14bc5fc597696c30ee51f53f.png

    在自己项目的build.gradle中添加依赖,引入techain依赖,然后sync。

    dependencies {

    ...

    compile project(':techain')

    ...

    }

    so包相关:aar包中包含了armeabi,armeabi-v7a,arm64-v8a,x86的so包,如果集成的App自身兼容的abi种类少于本aar,应当在build.gradle文件中,加入ndk的abiFilter配置,选定本app支持的abi,以防止引入全部4种abi的so导致在指定abi上缺失其他so文件。

    defaultConfig {

    ...

    ndk { abiFilter "armeabi" }

    ...

    }

    防止混淆配置

    集成方工程如存在资源混淆情况,请根据自身配置对协同SDK内资源进行keep,具体如下:

    1.需要keep的资源文件:

    file n_b_s0.xml

    file n_b_s1.xml

    file n_b_s2.xml

    file n_b_s3.xml

    file a_a.xml

    file b_b.png

    2.需要keep的a_a.xml内的ID值

    id BD_TranslucentTheme

    id b_b

    id a_a

    id n_b_s0

    id n_b_s1

    id n_b_s2

    id n_b_s3

    id push_custom_notification_layout

    id style_0

    id notification_pic_0

    id notification_timer_0

    id notification_title_0

    id notification_text_0

    id style_1

    id notification_pic_1

    id notification_timer_1

    id notification_title_1

    id notification_text_1

    id style_2

    id notification_pic_2

    id style_3

    id notification_pic_3

    id notification_btn_3

    id notification_title_3

    id notification_text_3

    id style_4

    id notification_pic_4

    id notification_timer_4

    id notification_title_4

    id notification_text_4

    id notification_lbtn_4

    id notification_rbtn_4

    id style_5

    id notification_pic_5

    id notification_title_5

    id notification_progress_5

    展开全文
  • 主要介绍了android studio集成极光推送的操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 基于AndroidStudio的极光推送,可以收到通知,自定义消息等,亲测可用
  • android studio信鸽推送10004错误

    千次阅读 2016-06-02 12:09:36
    折腾了很久, 总是出错。总结如下 第一在AndroidManifiest.xml清单文件中要添加如下代码 android:name="com.tencent.android.tpush.rpc.XGRemoteService" android:exported="true" >
    折腾了很久, 总是出错。总结如下
    

    1.在AndroidManifiest.xml清单文件中要添加如下代码

       <service
            android:name="com.tencent.android.tpush.rpc.XGRemoteService"
            android:exported="true" >
            <intent-filter>
                <!-- 【必须】 请修改为当前APP名包.PUSH_ACTION,如demo的包名为:com.qq.xgdemo -->
                <action android:name="com.test.demo22.PUSH_ACTION" />
            </intent-filter>
        </service>

    2. 第二在build.gradle中的android{}中添加如下代码

    sourceSets {
    main { 
    		jniLibs.srcDirs = ['libs']
    	}    
    }

    3. 加上这一段代码就可以知道有没有注册成功<这段代码要放到一运行程序就能执行的地方>



    展开全文
  • Android Studio极光推送配置

    千次阅读 2017-06-20 16:25:09
    本篇文章是对极光推送的简单介绍,在这之前看参考下网上的文献资料: http://www.2cto.com/kf/201506/407018.html http://blog.csdn.net/dangwenjie/article/details/52054335 ...

    本篇文章是对极光推送的简单介绍,在这之前看参考下网上的文献资料:

    http://www.2cto.com/kf/201506/407018.html

    http://blog.csdn.net/dangwenjie/article/details/52054335
    http://www.cnblogs.com/1426837364qqcom/p/5424250.html

    http://blog.csdn.net/qq137722697/article/details/52475605

    然后我们结合项目中极光的使用简单了解下极光推送的配置。

    1.添加jar包和依赖:


    2.清单文件中添加配置。

        <!--JPUSH 推送-->
        <!-- Required -->
        <permission
            android:name="包名.permission.JPUSH_MESSAGE"
            android:protectionLevel="signature" />
        <!-- Required  一些系统要求的权限,如访问网络等-->
        <uses-permission android:name="包名.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.ACCESS_WIFI_STATE" />
    
    
        <!-- Optional for location -->
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <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" />
        <uses-permission android:name="android.permission.GET_TASKS" />
        <!--Jpush-->

     <!---PUSH-->
            <!-- Rich push 核心功能 since 2.0.6-->
            <activity
                android:name="cn.jpush.android.ui.PopWinActivity"
                android:exported="false"
                android:theme="@style/MyDialogStyle"></activity>
            <!-- Required SDK核心功能-->
            <activity
                android:name="cn.jpush.android.ui.PushActivity"
                android:configChanges="orientation|keyboardHidden"
                android:exported="false"
                android:theme="@android:style/Theme.NoTitleBar">
                <intent-filter>
                    <action android:name="cn.jpush.android.ui.PushActivity" />
    
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="应用包名" />
                </intent-filter>
            </activity>
            <!-- Required  SDK核心功能-->
            <service
                android:name="cn.jpush.android.service.DownloadService"
                android:enabled="true"
                android:exported="false"></service>
            <!-- Required SDK 核心功能-->
            <!-- 可配置android:process参数将PushService放在其他进程中 -->
            <service
                android:name="cn.jpush.android.service.PushService"
                android:process=":mult">
                <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>
            <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
            <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
            <service
                android:name="cn.jpush.android.service.DaemonService"
                android:enabled="true"
                android:exported="true">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.DaemonService" />
                    <category android:name="应用的包名" />
                </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="应用的包名" />
                </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"
                android:exported="false" />
            <!-- Required  . Enable it you can get statistics data with channel -->
            <meta-data
                android:name="JPUSH_CHANNEL"
                android:value="developer-default" />
            <meta-data
                android:name="JPUSH_APPKEY"
                android:value="来自开发者平台取得的AppKey" /> <!--  </>值来自开发者平台取得的AppKey-->
    
     <!-- User defined.  For test only  用户自定义的广播接收器-->
            <receiver
                android:name="你自己定义的receiver"
                android:enabled="true"
                android:exported="false">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用户注册SDK的intent-->
                    <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用户接收SDK消息的intent-->
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用户接收SDK通知栏信息的intent-->
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用户打开自定义通知栏的intent-->
                    <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" /> <!--Optional 用户接受Rich Push Javascript 回调函数的intent-->
                    <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收网络变化 连接/断开 since 1.6.3 -->
                    <category android:name="应用的包名" />
                </intent-filter>
            </receiver>
            <!---PUSH-->
    

    3.初始化

    新建一个MyApplication类(继承至Application),并在清单文件(AndroidManifest.xml)的application节点添加name属性关联MyApplication。在MyApplication的onCreate方法中加入初始化的代码:

    /**
     * Created by 李金伟 on 2016/10/25.
     */
    public class MyApp extends Application {
        private static final String TAG = "MyApp";
        public static MyApp context;
        private static boolean isAllowDebug ;
    
    
        @Override
        public void onCreate() {
            super.onCreate();
            isAllowDebug = false;
            context = this;// 赋值
      
            initJpush();
    
        }
      
    
        /**
         * 初始化 极光推送
         */
        private void initJpush() {
            JPushInterface.setDebugMode(isAllowDebug);//是否是debug模式
            JPushInterface.init(this);
        }
    
        public static Context getContext(){
            return context;
        }
    
    }


    4.创建自定义广播接收器

    /**
     * 自定义接收器  推送
     * 
     * 如果不定义这个 Receiver,则:
     * 1) 默认用户会打开主界面
     * 2) 接收不到自定义消息
     */
    public class MyReceiver extends BroadcastReceiver {
    	private static final String TAG = "JPush";
    	private Intent intent;
    
    	@Override
    	public void onReceive(Context context, Intent intent) {
    
    		Bundle bundle = intent.getExtras();
            if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
                String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
                Log.d(TAG, "[MyReceiver] 接收Registration Id : " + regId);
                //send the Registration Id to your server...
                            
            } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
            	Log.d(TAG, "[MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString(JPushInterface.EXTRA_MESSAGE));
    			try {
    				JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA));
    				String message_extras_key = json.getString("pushMassage");
    				if (message_extras_key.contains(MyString2Callback.respUrl)){
    					message_extras_key = message_extras_key.replace(MyString2Callback.respUrl,MyString2Callback.needUrl);
    				}
    
    				JSONObject jsonObject = new JSONObject(message_extras_key);
    				String pushType = jsonObject.getString("pushType");
    				if ("0".equals(pushType)){
    					SpUtils.saveOA_push_evaluate_pushStr(context,message_extras_key); //当 关于我的oa办公的评论 的 透传消息 推送过来后,存进sp,在进入oa中的个人中心后,显示
    					int count = SpUtils.getOA_push_evaluate_count(context);//获取 oa  我的个人中心的 推送个数
    					count++;
    					SpUtils.saveOA_push_evaluate_count(context,count);//保存 oa  我的个人中心的 推送个数
    				}
    
    				intent = new Intent();
    				intent.setAction(JHConstants.ACTION_UPDATEUI);
    				context.sendBroadcast(intent);
    			} catch (JSONException e) {
    				e.printStackTrace();
    			}
    
    
    		} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
                Log.d(TAG, "[MyReceiver] 接收到推送下来的通知");
                int notifactionId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID);
                Log.d(TAG, "[MyReceiver] 接收到推送下来的通知的ID: " + notifactionId);
    
    			int pushNum = SpUtils.getAllPushNum(context);
    			SpUtils.saveAllPushNum(context, pushNum+1);
    			SetAppBadgeUtils.sendBadgeNumber(context,pushNum+"");
    
            } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
                Log.d(TAG, "[MyReceiver] 用户点击打开了通知");
    
    			try {
    				String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
    				JSONObject jsonObject = new JSONObject(extras);
    				String module_name = jsonObject.getString("module_name");
    				JSONObject modulName = new JSONObject(module_name);
    
    				if (MySystemUtils.isActivityRunning(context,MainActivity2.class.getName())){
    					Log.d(TAG, "MainActivity开启,说明已经登录了:-----点击通知栏");
    					clickMessage(context,modulName);
    				}else {
    					//app 未启动 用于适配部分机型
    					Log.d(TAG, "MainActivity未开启:-----点击通知栏");
    					intent = new Intent(context, SplashActivity.class);
    					intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    					intent.putExtra(SplashActivity.INTENT_IS_NOTIFY_CLICK, true);
    
    					intent.putExtra("notify_str",module_name);
    					context.startActivity(intent);
    				}
    			} catch (JSONException e) {
    				e.printStackTrace();
    			}
            } else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) {
                Log.d(TAG, "[MyReceiver] 用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA));
                //在这里根据 JPushInterface.EXTRA_EXTRA 的内容处理代码,比如打开新的Activity, 打开一个网页等..
            	
            } else if(JPushInterface.ACTION_CONNECTION_CHANGE.equals(intent.getAction())) {
            	boolean connected = intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false);
            	Log.w(TAG, "[MyReceiver]" + intent.getAction() +" connected state change to "+connected);
            } else {
            	Log.d(TAG, "[MyReceiver] Unhandled intent - " + intent.getAction());
            }
    	}
    
    	// 打印所有的 intent extra 数据
    	private static String printBundle(Bundle bundle) {
    		StringBuilder sb = new StringBuilder();
    		for (String key : bundle.keySet()) {
    			if (key.equals(JPushInterface.EXTRA_NOTIFICATION_ID)) {
    				sb.append("\nkey:" + key + ", value:" + bundle.getInt(key));
    			}else if(key.equals(JPushInterface.EXTRA_CONNECTION_CHANGE)){
    				sb.append("\nkey:" + key + ", value:" + bundle.getBoolean(key));
    			} else if (key.equals(JPushInterface.EXTRA_EXTRA)) {
    				if (TextUtils.isEmpty(bundle.getString(JPushInterface.EXTRA_EXTRA))) {
    					Log.i(TAG, "This message has no Extra data");
    					continue;
    				}
    
    				try {
    					JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA));
    					Iterator<String> it =  json.keys();
    
    					while (it.hasNext()) {
    						String myKey = it.next().toString();
    						sb.append("\nkey:" + key + ", value: [" +
    								myKey + " - " +json.optString(myKey) + "]");
    					}
    				} catch (JSONException e) {
    					Log.e(TAG, "Get message extra JSON error!");
    				}
    
    			} else {
    				sb.append("\nkey:" + key + ", value:" + bundle.getString(key));
    			}
    		}
    		return sb.toString();
    	}
    
    	private void clickMessage(Context context,JSONObject modulName) throws JSONException {
    		String bussiness_id = modulName.getString("bussiness_id");
    		String module = modulName.getString("module");
    		switch (module){
    			case "NotificationTypeShareAt"://分享@的消息推送
    				intent = new Intent(context, OA_ShareDetailActivity2.class);
    				intent.putExtra("share_item_id",bussiness_id);
    				break;
    			case "NotificationTypeWorkflow"://审批申请消息推送
    				intent = new Intent(context, OA_ApprovalDetailActivity2.class);
    				intent.putExtra("id",bussiness_id);
    				break;
    			case "NotificationTypeWorkLog"://日志点评消息推送
    				intent = new Intent(context, OA_JournalDetailActivity2.class);
    				intent.putExtra("journal_item_id",bussiness_id);
    				break;
    			case "NotificationTypeMission"://任务消息推送
    				intent = new Intent(context, OA_TaskDetailActivity.class);
    				intent.putExtra("id",bussiness_id);
    				break;
    			case "NotificationTypeBusinessPushRecord"://商机推送
    				intent = new Intent(context, MyNeedDetailActivity.class);
    				intent.putExtra("demand_id",bussiness_id);
    				intent.putExtra("isBlueTitleBar",true);
    				break;
    			case "NotificationTypeOrder"://订单处理推送
    				//todo
    				String fac_id = modulName.getString("fac_id");//订单elployer 的id
    				String order_type = modulName.getString("order_type");//订单类型
    
    				if (StringUtils.isEmpty(SpUtils.getUserType(context))){return;}
    				//0--工厂  1---雇主
    				if ("1".equals(order_type)){
    					intent = new Intent(context, MyOrder_OrderDetailActivity2.class);
    					intent.putExtra("userId",SpUtils.getUserId(context));
    					intent.putExtra("orderId",bussiness_id);
    
    				}else {
    					intent = new Intent(context, OA_MyOrder_OrderDetailActivity2.class);
    					intent.putExtra("employer",fac_id);
    					intent.putExtra("orderId",bussiness_id);
    				}
    
    				break;
    		}
    		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    		context.startActivity(intent);
    	}
    
    //	/**
    //	 * 更新消息状态
    //	 * @param context
    //	 * @param push_id
    //	 */
    //	public void updatePushStatus(Context context,String push_id){
    //		String user_id = SpUtils.getUserId(context);
    //		ServiceApi.updatePushStatus(user_id, push_id,null);
    //	}
    
    }


    展开全文
  • Android studio简单继承友盟推送Demo
  • Android studio 快速集成信鸽推送。主要集成有:1.复制集成jar包和so库。2.在AndroidManifest 中添加相应的配置。 3.在activity oncreat方法中开启信鸽推送。 注意事项:注意ACCESS ID 和ACCESS KEY 的更换,和...
  • 使用android studio集成极光推送

    千次阅读 2016-08-05 20:46:33
    Android studio集成激光推送sdk
  • AndroidStudio集成极光推送SDK

    千次阅读 2016-05-31 03:18:52
    AndroidStudio集成极光推送SDKJPush极光推送(以下简称“极光sdk”)是免费专业第三方云推送服务平台,专注于安卓推送Android消息推送,ios推送通知,手机推送,app云推送服务。极光sdk在eclipse下是很好集成的,但在AS...
  • android studio集成友盟v2.3消息推送

    千次阅读 2015-07-08 20:10:58
    2,本SDK需要最新版本的 android-support-v4.jar 支持包。eclipse用户,直接导入jar包。sudio用户在build.gardle里加入v4支持,如下代码 dependencies { compile fileTree(include: ['*.jar'],
  • 本文主要介绍了最基本的集成极光推送
  • 极光推送大家都用过,了解会用的就跳过吧,此篇仅针对初学者或者忘记巩固者。关于极光的申请就不说什么了 ,重要的一点是项目中的包名和再极光申请时要保持一致 拿到极光的appkey即可。关于Studio的配置接下来分为...
  • Android studio 集合百度推送

    千次阅读 2016-07-01 15:25:19
    Android 百度推送1. 注册和下载相应的SDK和Demo注册不多说了。 http://push.baidu.com/sdk/push_client_sdk_for_android1.1下载SDK和Demo1.2下载后的文件目录显示 下载的文件中的Demo可以移植到Android项目中; ...
  • 极光推送(Jpush)是当下非常流行的一个消息推送框架,其在Android studio中的集成也更加的快速和简单,如果你手速够快,能在极短的时间内完成,这对于单身的程序猿来说并非难事。 1.配置project目录下的gradle...
  • Android Studio 集成极光推送今天研究了一下极光推送,有的文档写的不是很全面,自己补充了一下,非常适合新手上路
  • 为增加极光推送成功率 针对VIP用户需要联系商务 VIP专享高速推送通道、子账户管理、更高的推送频率、用户分群推送 联系商务 极光新的SDK,已集成了小米,华为,魅族的厂商通道功能
  • 这是我从【快速搞定】2分钟搞定极光推送(极光推送Android端集成) 这篇文章上获取的,然后自己总结了一下 1.去极光官网登录/注册,然后创建应用(此处省略自己去弄) 2.添加极光推送的cpu(在build.gradle(Mobule:app...
  • AndroidStudio集成极光推送

    千次阅读 2016-12-02 14:06:14
    Module的build.gradle添加:compile 'cn.jiguang:jpush:2.1.8' // 极光推送添加权限(不止这些权限,还有很多,具体一定要查看官方...--极光推送--> <!-- Required --> android:name="com.wzkj.vzone.org.permiss
  • Android Studio集成百度云推送

    千次阅读 2016-02-17 11:46:30
    集成百度云推送照着文档跟demo分分钟是可以搞定的,主要在使用Android studio的时候遇到了一些问题,主要是出现在加载.so文件上。 官方文档很明确的说明了在app目录下新建jniLibs目录,将含so文件夹的文件复制到该...
  • AndroidStudio 集成极光推送(带源码)

    千次阅读 2017-03-22 10:21:49
    接下在咱们就介绍一下基于 JPush 来快捷地为 Android App 增加推送功能。首先说一下极光推送的主要功能。 1.保持与服务器的长连接,以便消息能够即时推送到达客户端  2.接收通知与自定义消息,并向开发者App 传递...
  • 做项目的时候,用的是极光推送,但是发现集成功的了,用 Android studio接受推送接收不到,解决办法如下:首先,在你的main目录下,新建一个文件夹,名字是jniLibs, 其次,打开你的build.gradle,文件,把以下代码...
  • 现在讲一下android studio中极光推送的运用情况。 步骤一:根据极光推送官网中提供的《Android SDK 集成指南》(详细链接:http://docs.jpush.io/guideline/android_guide/)(以下统称:链接1),具体SDK集成操作...
  • android studio中api 23的消息推送机制

    千次阅读 2015-11-01 12:06:25
    AS中api23的消息推送机制和以前版本的不太一样,具体代码如下: (一).activity_mail.xml布局文件,在这里面我用了二个按钮,一个是用来发送消息,还一个是用来断开服务,具体代码如下: xmlns:android=...
  • Android Studio 集成信鸽推送

    千次阅读 2016-10-19 22:22:12
    之前有写过极光推送,个人觉得信鸽推送也挺好用的,这篇小白也可以看懂哦
  • Android消息推送实现

    千次阅读 2013-10-21 11:04:09
    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的...
  • Android Studio集成极光推送

    千次阅读 2016-12-19 17:05:23
    本文试图给大家介绍一下我们极光推送Android Studio平台上的集成使用。 jcenter 自动集成步骤 确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,529
精华内容 3,811
关键字:

androidstudio消息推送