摇一摇用户信息反馈功能:用户通过摇晃手机或者触发按钮,弹出反馈信息界面,填写个人意见,上传服务器的功能。

1. 蒲公英官网注册应用,获取AppId作为唯一标识;

2. 下载sdk,获取pgyer_sdk_2.7.4.jar包。

 网址:https://www.pgyer.com/doc/view/sdk_download

3. 配置project下的build.gradle文件

allprojects {
repositories {
jcenter()
maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
}
}

4. 配置module下的build.gradle文件

dependencies {
compile 'com.pgyersdk:sdk:2.7.3'
}

或者将获取的pgyer_sdk_2.7.4.jar放到libs目录,右键添加到项目。

5. 配置 AndroidManifest

<!-- 必选-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取设备信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取MAC地址-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 允许程序录制音频 -->
<uses-permission android:name="android.permission.GET_TASKS"/> <!-- 可选-->
<uses-permission android:name="android.permission.READ_LOGS" /> <!-- 获取logcat日志 --> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- 可选-->
<activity android:name="com.pgyersdk.activity.FeedbackActivity"/> <!-- 必选-->
<meta-data
android:name="PGYER_APPID"
android:value="4b6e8877dfcc2462bedb37dcf66b6d87" >
</meta-data>
</application>

6. Android 7.0还应该配置 AndroidManifest:

在application节点下添加:

<provider android:name="android.support.v4.content.FileProvider"
android:authorities="您自定义provider file值"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>

在res目录下新建文件夹xml,新建文件:provider_paths.xml,文件内添加:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path path="Android/data/com/pgyersdk" name="files_root" />
<external-path path="." name="external_storage_root" /></paths>

7, 在MainActivity中添加java代码。

7-1 . onCreate方法:
//动态请求权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(
new String[] { Manifest.permission.READ_EXTERNAL_STORAGE },
REQUEST_CODE_READ_EXTERNAL_STORAGE_PERMISSIONS);
requestPermissions(
new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE },
REQUEST_CODE_WRITE_EXTERNAL_STORAGE);
}
}
7-2. 添加权限请求监听
@SuppressLint("NewApi")
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: {
for (int i = 0; i < permissions.length; i++) {
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { } else { }
}
}
case REQUEST_CODE_READ_EXTERNAL_STORAGE_PERMISSIONS: {
for (int i = 0; i < permissions.length; i++) {
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "允许读写存储!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "未允许读写存储!", Toast.LENGTH_SHORT).show();
}
}
}
break;
default: {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
7-3. onResume方法,初始化Activity类型的UI:
       PgyFeedbackShakeManager.setShakingThreshold(1000);
FeedbackActivity.setBarImmersive(false);
// 设置顶部导航栏和底部bar的颜色
FeedbackActivity.setBarBackgroundColor("#ff0000");
// 设置顶部按钮和底部按钮按下时的反馈色
FeedbackActivity.setBarButtonPressedColor("#ff0000");
// 设置颜色选择器的背景色
FeedbackActivity.setColorPickerBackgroundColor("#ff0000");
PgyFeedbackShakeManager.register(MainActivity.this, false);

也可以是dialog类型的UI,那样就不用配置FeedbackActivity。

7-4. onPause方法
PgyFeedbackShakeManager.unregister();

以上的配置,是配置好了以后,摇一摇手机就会显示UI界面。

如果是想通过点击按钮触发显示反馈界面,则可以添加如下代码

FeedbackActivity.setBarImmersive(false);
PgyFeedback.getInstance().showActivity(mContext);

【Android开发】【第三方SDK】蒲公英摇一摇的更多相关文章

  1. Android开发系列----sdk下载 环境准备

    今天开始准备Android开发环境,FQ下载Android Studio,官网下载地址 https://developer.android.com/studio/install.html (突然发现我 ...

  2. android 开发中 sdk 无法更新

    现在用到android 的多个版本适配 , 换了个新环境 , 重新配置了android 的开发环境,哪想到遇到了很多小问题.  今天又遇到了 android sdk manager 无法更新的问题.  ...

  3. Android开发环境——SDK相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  4. 难搞的Android开发环境(sdk 代理)

    概述 搞了近一周的环境搭建,在csdn上提个问,有位网友说弄一下代理,搜一下,果真有人写博客:Android SDK代理服务器解决国内不能更新下载问题 其实我下了很多个集成好的 adt-bundle- ...

  5. 安装配置Android开发环境SDK

    引言: 好搞事情,搞点移动端测试高大尚的东西,首先先得把环境搭建起来: 1.下载 握了个草,很多网站都直接推荐到android官网去下载,叔不知google官网早就被我大天朝给墙了,对于不喜欢FQ的天 ...

  6. android开发环境sdk manager无法更新问题

    由于无法fq,也没有vpn,建议各位新手不用sdk manager去安装,直接下载bundle包,就不用去折腾各种开发环境了.推荐bundle下载地址:http://adt.android-studi ...

  7. Android开发加快sdk更新速度

    1.在:\Windows\System32\drivers\etc目录下找到host文件,不能再这个目录修改host文件,需要先拷贝到桌面 然后把一下地址添加到host文件的最末尾 203.208.4 ...

  8. android开发遇到SDK无法访问谷歌而安装不了的情况

    遇到SDK无法访问谷歌而安装不了的情况 1.修改C:\Windows\System32\drivers\etc的HOSTS文件,添加 #google_android更新203.208.46.146 d ...

  9. unity 引入 android第三方sdk

    unity中调用java代码中介绍了unity调用android java代码的一些基础.引入android开发第三方sdk的操作跟调用java代码的操作相似,只是多了一步引入第三方jar. unit ...

  10. [转]【eoeAndroid索引】史上最牛最全android开发知识汇总

    一.开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logca ...

随机推荐

  1. LeetCode-099-恢复二叉搜索树

    恢复二叉搜索树 题目描述:给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换.请在不改变其结构的情况下,恢复这棵树. 进阶:使用 O(n) 空间复杂度的解法很容易实现.你能想出一个只使用 ...

  2. SQL Server2012安装教程

    什么是SQL? 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统 ...

  3. 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)

    1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...

  4. Java案例——字符串中的数据排序

    需求:有一个字符串"9 1 2 7 4 6 3 8 5 0",请编写程序实现从小到大数据排序 分析:最重要的部分是如何将字符串中的数据取出来 1.定义一个字符串为"9 1 ...

  5. Java基础——引用类型作为形参与返回值

    一.具体类名作为形参与返回值 1.方法的形参是类名,其实需要的是该类的对象 比如有一个具体的猫类,我使用另一个类使用猫类的方法 public class CatOperator {   public ...

  6. 【SVN】Please execute the 'Cleanup' command.

    背景 项目有个新的bug,我需要提取一个新的分支,但是提取之后,更新分支出现了这个问题 Please execute the 'Cleanup' command. 原因 由于使用SVN更新文件出错,导 ...

  7. Django orm Q查询补充

    Q的简单用法 from django.db.models import Q q = Q() q.children.append(("username", "lyj&quo ...

  8. APIO2015 八邻旁之桥/巴邻旁之桥

    题目描述: bz luogu 题解: 贪心+权值线段树. $K=1$的时候,答案为$\sum |x-l| + |x-r|$,所以所有端点排序后取中位数即可. $K=2$的时候,一定是左边的一些走左边的 ...

  9. Windows10与Centos7双系统安装踩的坑

    1. 首先安装windows(太简单不说了) 2.然后安装Centos7(太简单不说了) 3.注意:安装完Centos7重启电脑进入系统引导项突然发现没有Windows引导项 0x06 恢复Windo ...

  10. dfs:x+y=z

    #include <iostream.h> int a[100]; static int stat=0; void dfs(int n) { if(n==3) { if(a[0]+a[1] ...