一、获取参数

1、注册登录Line开发者账号

在Line官网并找不到注册地方,可以通过Line APP进行注册,注册之后进入Line开发者官网:https://developers.line.me/en/进行开发者账号授权。

2、创建应用

3、创建完成在Channel settings下获取Channel ID和Channel secrt

4、在AppSettings下配置包名和签名

5、下载Line 的aar:https://developers.line.biz/en/docs/line-login/downloads/,并引入工程

allprojects {repositories {...flatDir {dirs 'libs'}...}
}
compile(name: 'line_sdk_4.0.8', ext: 'aar')

二、登录实现

1.APP-APP

int REQUEST_CODE=1;
LineApiClient lineApiClient;
LineApiClientBuilder apiBuilder= new LineApiClientBuilder(activity,lineChannelID);
lineApiClient=apiBuilder.build();
if(checkApkExist(activity,"jp.naver.line.android")){//App-to-AppLog.d(tag,"Login-App-to-App");Intent loginIntent= LineLoginApi.getLoginIntent(activity,lineChannelID);
} else{//浏览器中的LINE登录界面Log.d(tag,"Login-web");loginIntent=LineLoginApi.getLoginIntentWithoutLineAppAuth(activity,lineChannelID);
}
activity.startActivityForResult(loginIntent,REQUEST_CODE);
    public void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode != REQUEST_CODE) {Log.e("ERROR", "Unsupported Request");return;}try {LineLoginResult result = LineLoginApi.getLoginResultFromIntent(data);Log.e(tag,"msg="+result.getErrorData().getMessage());switch (result.getResponseCode()) {case SUCCESS:// Login successfulLog.d(tag,"loginSuccess");String user_id=result.getLineProfile().getUserId();String user_name=result.getLineProfile().getDisplayName();String accessToken = result.getLineCredential().getAccessToken().getAccessToken();break;case CANCEL:// Login canceled by userLog.e(tag, "LINE Login Canceled by user!!");Log.e(tag,"msg="+result.getErrorData().getMessage());break;default:// Login canceled due to other errorLog.e(tag, "Login FAILED!"+result.getErrorData().toString());}}catch (Exception e){e.printStackTrace();}}
    //检查是否安装了apppublic boolean checkApkExist(Context context, String packageName){if(packageName==null){return false;}try{ApplicationInfo applicationInfo=context.getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);return true;}catch (Exception e){e.printStackTrace();return false;}}

三、分享实现

   public void shareToLine(Activity activity,String uriString,String title,String text){Log.d(tag,"share to Line");String linePackageName="jp.naver.line.android";String lineClassName="jp.naver.line.android.activity.selectchat.SelectChatActivityLaunchActivity";ComponentName componentName=new ComponentName(linePackageName,lineClassName);Intent shareIntent=new Intent();shareIntent.setAction(Intent.ACTION_SEND);Uri uri = Uri.parse(uriString);shareIntent.putExtra(Intent.EXTRA_STREAM, uri);// shareIntent.setType("image/jpeg"); //图片分享shareIntent.setType("text/plain"); // 纯文本shareIntent.putExtra(Intent.EXTRA_SUBJECT, title);//分享的标题shareIntent.putExtra(Intent.EXTRA_TEXT, text);//分享内容shareIntent.setComponent(componentName);//跳到指定APP的Activityactivity.startActivity(Intent.createChooser(shareIntent,""));}

Android实现Line登录分享相关推荐

  1. android line分享代码,Android实现Line登录分享

    一.获取参数 1.注册登录Line开发者账号 在Line官网并找不到注册地方,可以通过Line APP进行注册,注册之后进入Line开发者官网: 2.创建应用 3.创建完成在Channel setti ...

  2. Android集成ShareSDK第三方分享和登录

    本篇记录在Android平台上如何集成ShareSDK实现第三方登陆和分享,以及其中可能会遇到的坑. Mob官网 下载 如图选择你需要分享的平台: 集成 解压下载的文件,然后在ShareSDK for ...

  3. android qq第三方登录,Android调用第三方QQ登录代码分享

    本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...

  4. Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题

    前言 最近在使用第三方登录和分享的过程中遇到了很多问题,一方面可以归结为自己经验的不足,另一方面其实也说明了官方文档的含糊不清.这篇博文不会写关于如何使用第三方登录分享,因为官方文档已经写明了步骤,这 ...

  5. Android facebook VK 登录与分享 开源SDK

    自己封好的SDK 直接调用 就可以登录 包含facebook VK 登录分享 首先导入SDK 在项目gradle 添加FB,VK的引用 如果你不需要修改源码 直接导入arr文件 比较方便 reposi ...

  6. Android 集成原生google,facebook 登录分享sdk

    前言 海外版app集成三方登录分享,早期采用umeng sdk,由于googleplay对用户隐私及用户数据的使用有比较严格规定.正好 umeng sdk会后台采集app信息,触发用户隐私相关政策条款 ...

  7. Android中的友盟(微信、QQ、新浪)第三方登录分享

    前言:我再这里只总结Android开发人员需要做的,其他的就去看开发文档吧,例如获取Appkey,就找你的领导要去吧. 一.准备工作 第一步:快速集成. 快速集成包含自动集成与手动集成两种方式,开发者 ...

  8. 社会化登录分享-Android SDK的二次封装和使用

    本系列文章将第三方的登录分享功能进行二次封装,统一接口调用,简化了接不同平台登录分享的步骤. 0 系列文章 系列一 Android SDK的二次封装和使用 系列二 源码解析 系列三 微信SDK接入 系 ...

  9. Android实现新浪微博SSO授权登录分享文字图片等功能(WEIBO_ANDROID_SDK V2.3.0 )

    新浪开发平台:http://open.weibo.com 新浪微博分享目前分为两种途径: 1,直接在自己的APP,弹出类似Dialog(sina集成)来完成授权,授权成功后可直接分享内容,全程都是在自 ...

最新文章

  1. stopstart按钮怎么用_烟雾报警器一直响吵人!怎么彻底给关掉?
  2. sklearn.preprocessing.PolynomialFeatures
  3. css - Position定位属性与层级关系
  4. Docker (1)简介
  5. 计算机要怎么设置才能谈音乐,解读:如何设置要插入计算机的U盘以自动播放歌曲...
  6. 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
  7. 先出报表还是先计提所得税_一道大综合题搞定“与子公司的内部交易合并报表抵销分录”的逻辑...
  8. Shiro——RememberMe
  9. java 析构方法_java析构方法详解
  10. 写给想要做自动化测试的人
  11. Hash冲突的解决方式
  12. kubadm运行逻辑——init-certs证书的生成与创建
  13. Oracle的MD5函数介绍
  14. 资产设备使用时,GPS干扰的问题该怎么解决?
  15. 可变卷积(Deformable ConvNets)算法的MXNet实现
  16. 【嵌入式学习-STM32F103-TIM-编码器接口】
  17. spark:Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
  18. 数据中心的功率密度将会得到进一步提高
  19. 【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标
  20. Python int基本用法

热门文章

  1. 华为ENSP模拟器 AR启动 报错40
  2. 通过插画理解kubernetes基本概念
  3. 谷歌浏览器打开后是360导航界面解决办法
  4. ffmpeg截取一段视频中一段视频
  5. centos下安装snmp服务
  6. Linux系统的历史发展演绎
  7. cut命令的详细用法
  8. 实体完整性检查和违约处(B+树索引介绍)
  9. pg批量插入_postgresql大批量数据导入方法
  10. 20181113-1 版本控制报告