LINE分享android利用系统自带分享实现LINE分享功能

本文介绍了一种在Android应用中实现LINE分享功能的方法,通过直接调用系统分享机制而非依赖第三方SDK,实现了向LINE发送图片的功能。文中详细展示了如何通过反编译LINE APK获取必要的包名和组件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

LINE分享android利用系统自带分享实现LINE分享功能

标签: android分享line
  754人阅读  评论(2)  收藏  举报
  分类:

android利用系统自带分享实现分享功能之LINE分享

最近公司向海外发展,提出了一个国外主流的社交APP分享需求。原来我使用的是第三方分享工具,但是太鸡肋,国内的APP支持的还是不错的,但是国外支持的不行。大家用外国社交APP比较少,所以也偷懒了吧~ 
拿到LINE分享图片这个需求时,也是开始用第三方分享,但是经过我的试验只能分享文字,网上也找不到LINE分享的官方文档。所以只能自己想办法。 
实现的方法也是比较奇葩了。话不多说,下面贴代码!

/** 
     * 分享功能 
     *  LINE
     *  ComponentName(String pkg, String cls)
     *  line的包名,line的接收资料的类名--》 </intent-filter> MainFist里面
     */  
    public void shareLine() {  
        ComponentName cn = new ComponentName("jp.naver.line.android"
                , "jp.naver.line.android.activity.selectchat.SelectChatActivity");
        Intent shareIntent = new Intent();  
        shareIntent.setAction(Intent.ACTION_SEND);  
        Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(mActivity.getContentResolver(), bitmap, null,null));
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);  
        shareIntent.setType("image/jpeg"); //图片分享
        //intent.setType("text/plain"); // 纯文本 
        //intent.putExtra(Intent.EXTRA_SUBJECT, "分享的标题");
        //intent.putExtra(Intent.EXTRA_TEXT, "分享的内容");
        shareIntent.setComponent(cn);//跳到指定APP的Activity
        mActivity.startActivity(Intent.createChooser(shareIntent,"")); 
    } 
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

首先介绍ComponentName类。 ComponentName与Intent同位于**Android.content包下,我们从Android官方文档中可以看到,这个类主要用来定义可见一个应用程序组件,例如:Activity,Service,BroadcastReceiver或者ContentProvider。 
new ComponentName(,);括号内填入line的包名和line的接收资料的类名。关于包名大家都是可以百度到的(也可在后面的步骤里寻找),但是接收我们穿过去数据的类名是基本上找不到的,所以就得反编译LINE的APK了(反编译的话请自行度娘 
= = 。)。中间省略反编译一大段。。。好了,我们反编译结束后,找到LINE的AndroidManifest.xml文件,在里面搜索<intent-filter/> 
里面会有它接收的数据类型**

   <intent-filter android:label="@string/app_name" >
                 <action android:name="android.intent.action.SEND" />
                 <data android:mimeType="image/*" /><!-- 可接收的数据类型图片视频文字 -->
                 <data android:mimeType="video/*" />
                 <data android:mimeType="text/plain" />
   
  • 1
  • 2
  • 3
  • 4
  • 5

这里写图片描述

图上红框内的就是LINE接收数据的类型了。复制下来填入new 
ComponentName();中,然后再你需要分享的BUTTON里执行shareLine();这个方法就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值