安卓app分享功能怎么实现,android分享自己的应用

  安卓app分享功能怎么实现,android分享自己的应用

  效果图如下:

  需求指定应用分享至图片中的5个应用,手机上未安装显示为灰色,点击打开应用市场;安装了点击打开。

  在手机上只安装了微信

  主要代码如下:

  /**

  * 分享对话框

  * 显示5个排序好的分享app,提示是否安装

  * 需要分享的节目名称

  * @param共享内容

  public void showShare_5(最终字符串shareContent) {

  dialog=new Dialog(上下文,r . style。对话);

  对话。设置内容视图(r .布局dialog _ factory _ share _ 5);

  最终TextView TV _ Sina _ Weibo=(TextView)对话框。findviewbyid(r . id。TV _新浪);

  最终TextView TV _ renren=(TextView)对话框。findviewbyid(r . id。TV _人人网);

  最终TextView TV _ Tecent _ Weibo=(TextView)对话框。findviewbyid(r . id。TV _ QQ _微博);

  最终TextView TV _ message=(TextView)对话框。findviewbyid(r . id。TV _ message);

  最终TextView TV _ weixin=(TextView)对话框。findviewbyid(r . id。TV _ weixin);

  最终列表AppInfo shareAppInfos=getShareAppList();

  for(int I=0;我shareappinfos。size();i ) {

  if (com.sina.weibo ).equals(shareAppInfos.get(i).getAppPkgName())) {

  drawable add=context。获取资源().getDrawable(r . drawable。icon _ share _新浪微博);

  add.setBounds(0,0,add.getMinimumWidth(),add。获取最小高度());

  电视_新浪_微博。setcompoundrawables(add,null,null,null);//设置左图标

  电视_新浪_微博。设置标签(一);

  if (com.tencent.WBlog ).equals(shareAppInfos.get(i).getAppPkgName())) {

  drawable add=context。获取资源().getDrawable(r . drawable。icon _ share _腾讯_微博);

  add.setBounds(0,0,add.getMinimumWidth(),add。获取最小高度());

  TV _腾讯_微博。setcompoundrawables(add,null,null,null);//设置左图标

  电视_腾讯_微博。设置标签(一);

  if (com.android.mms ).equals(shareAppInfos.get(i).getAppPkgName())) {

  drawable add=context。获取资源().getDrawable(r . drawable。图标_分享_消息);

  add.setBounds(0,0,add.getMinimumWidth(),add。获取最小高度());

  电视_消息。setcompoundrawables(add,null,null,null);//设置左图标

  tv _ message.setTag(一);

  if (com.renren.mobile.android ).equals(shareAppInfos.get(i).getAppPkgName())) {

  drawable add=context。获取资源().getDrawable(r . drawable。icon _ share _ renren);

  add.setBounds(0,0,add.getMinimumWidth(),add。获取最小高度());

  TV _人人网。setcompoundrawables(add,null,null,null);//设置左图标

  tv_renren.setTag(一);

  if (com.tencent.mm ).equals(shareAppInfos.get(i).getAppPkgName())) {

  drawable add=context。获取资源().getDrawable(r . drawable。icon _ share _腾讯_微信);

  add.setBounds(0,0,add.getMinimumWidth(),add。获取最小高度());

  TV _微信。setcompoundrawables(add,null,null,null);//设置左图标

  tv_weixin.setTag(一);

  //直接写死5个分享的应用信息

  final AppInfo app _ Sina=new AppInfo( com。新浪。微博, com。新浪。微博。编辑活动’);

  final AppInfo app _ tx _ Weibo=new AppInfo( com。腾讯。wblog),

  com。腾讯。wblog。意向代理。腾讯weipointent’);

  final AppInfo app _ renren=new AppInfo( com。人人网。手机。安卓),

  com。人人网。手机。安卓。出版商。input publisher activity’);

  final AppInfo app _ message=new AppInfo( com。安卓。彩信, com。安卓。彩信。ui。composemessageactivity’);

  final AppInfo app _ weixin=new AppInfo( com。腾讯。mm , com。腾讯。嗯。ui。工具。shareimgui’);

  最终字符串分享=语境。getstring(r . String。dialog _ share 1)共享内容

  语境。getstring(r . string。dialog _ share 2);

  电视_新浪_微博。setonclicklistener(new OnClickListener(){

  @覆盖

  公共void onClick(视图五){

  setOnClick(电视_新浪_微博,应用程序_新浪,分享);

  TV _人人网。setonclicklistener(new OnClickListener(){

  @覆盖

  公共void onClick(视图五){

  seton点击(电视_人人网,应用程序_人人网,分享);

  电视_腾讯_微博。setonclicklistener(new OnClickListener(){

  @覆盖

  公共void onClick(视图五){

  seton点击(电视_腾讯_微博,app _ tx _微博,分享);

  电视_消息。setonclicklistener(new OnClickListener(){

  @覆盖

  公共void onClick(视图五){

  setOnClick(电视_消息,应用程序_消息,分享);

  TV _微信。setonclicklistener(new OnClickListener(){

  @覆盖

  公共void onClick(视图五){

  setOnClick(tv_weixin,app_weixin分享);

  按钮BTN _关闭=(按钮)对话框。findviewbyid(r . id。BTN _对话_关闭);

  btn_close.setOnClickListener(新建按钮OnClickListener() {

  @覆盖

  公共void onClick(视图五){

  对话。dissolve();

  对话。show();

  }

  AppInfo:

  public void setappalancherclassname(String appalancherclassname){

  appalancherclassname=appalancherclassname;

  公共字符串getAppName() {

  返回应用程序名

  public void set appName(String appName){

  AppName=appName

  公共可提取getAppIcon() {

  返回应用图标

  公共void setAppIcon(可绘制的应用程序图标){

  AppIcon=appIcon

  }

  /**

  * 查询所有支持分享的应用信息

  * @param上下文

  * @返回

  个人分发名单解析信息getShareApps(上下文Context){

  列表解析信息mApps=新数组列表解析信息

  意向意向=新意向(意向. ACTION_SEND,null);

  intent.addCategory(Intent .类别_默认);

  意图。settype(“text/plain”);

  包管理器p管理器=上下文。getpackagemanager();

  mApps=p经理。查询活动(意图,包管理器.组件_启用_状态_默认);

  返回地图;

  * 得到应用列表

  * @返回

  个人分发名单AppInfo getShareAppList() {

  list AppInfo shareAppInfos=new ArrayList AppInfo

  包管理器包管理器=上下文。getpackagemanager();

  list resolve info resolve infos=getShareApps(context);

  if (null==resolveInfos) {

  返回空

  否则{

  for(解析信息解析信息:解析信息){

  AppInfo AppInfo=new AppInfo();

  appinfo。setapppkgname(解析信息。活动信息。包名);

  appinfo。setpalancherclassname(解析信息。活动信息。姓名);

  appinfo。设置appname(解析信息。加载标签(包管理器).toString());

  appinfo。setappicon(解析信息。loadicon(包管理器));

  shareappinfos。添加(appInfo);

  返回shareAppInfos

  }

安卓app分享功能怎么实现,android分享自己的应用