国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android 分享功能的實(shí)現(xiàn)代碼

2019-10-23 18:33:42
字體:
供稿:網(wǎng)友

Android 分享功能的實(shí)現(xiàn)代碼

一個(gè)Activity中,取出設(shè)備上安裝的所有支持分享動(dòng)作的Activity,在grid中顯示。

實(shí)例代碼:

/** * 分享activity */public class NShareActivity extends AppCompatActivity {  public final static String EXTRA_STR_TO_SHARE="str_to_share1";  private class SharedPkgInfo{    String pkgName;    Drawable icon;    String appName;    String activityClassName;  }  class Vh extends RecyclerView.ViewHolder {    TextView tv;    ImageView iv;    public Vh(View itemView) {      super(itemView);      itemView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {          //點(diǎn)擊了某個(gè)app的圖標(biāo),用選擇的app分享內(nèi)容          Intent share = new Intent(android.content.Intent.ACTION_SEND);          share.setType("text/*");          share.putExtra(Intent.EXTRA_SUBJECT, "分享");          share.putExtra(Intent.EXTRA_TEXT,NShareActivity.this.strToShare);          //share.putExtra(Intent.EXTRA_STREAM, uri); // Optional, just if you wanna share an image.          SharedPkgInfo pi = sharePkgInfo.get(getAdapterPosition());          share.setClassName(pi.pkgName,pi.activityClassName);          //share.setPackage();          startActivity(share);        }      });    }  }  //獲取支持供享的包的信息  List<SharedPkgInfo> sharePkgInfo=new ArrayList<>();  //要分享出去的文本放在這里  private String strToShare=null;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    Intent intent= this.getIntent();    strToShare = intent.getStringExtra(EXTRA_STR_TO_SHARE);    getAllSharePackages();    //將可共享的app圖標(biāo)都放在一個(gè)gridview中    RecyclerView v=new RecyclerView(this);    v.setPadding(16,16,16,16);    GridLayoutManager lm=new GridLayoutManager(this,4);    v.setLayoutManager(lm);    v.setAdapter(new RecyclerView.Adapter<Vh>()    {      @Override      public Vh onCreateViewHolder(ViewGroup parent, int viewType) {        //必須創(chuàng)建新的view holder        LinearLayout v=new LinearLayout(NShareActivity.this);        v.setPadding(8,8,8,8);        Vh vh=new Vh(v);        //先創(chuàng)建item view:上面一個(gè)圖標(biāo),下面一個(gè)文本        LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(            LinearLayout.LayoutParams.MATCH_PARENT,            LinearLayout.LayoutParams.WRAP_CONTENT);        v.setOrientation(LinearLayout.VERTICAL);        v.setLayoutParams(lp);        ImageView imgv=new ImageView(NShareActivity.this);        imgv.setLayoutParams(new LinearLayout.LayoutParams(            LinearLayout.LayoutParams.MATCH_PARENT,            120));        TextView tv=new TextView(NShareActivity.this);        tv.setGravity(Gravity.CENTER);        v.addView(imgv);        v.addView(tv);        vh.tv=tv;        vh.iv=imgv;        return vh;      }      @Override      public void onBindViewHolder(Vh holder, int position) {        //將視圖與數(shù)據(jù)綁定        SharedPkgInfo spi=sharePkgInfo.get(position);        holder.tv.setText(spi.appName);        holder.iv.setImageDrawable(spi.icon);      }      @Override      public int getItemCount() {        return sharePkgInfo.size();      }    });    v.setBackgroundColor(Color.WHITE);    this.setContentView(v);  }  //獲取所有支持send Action的包名和圖片  void getAllSharePackages()  {    Intent share = new Intent(android.content.Intent.ACTION_SEND);    //分析網(wǎng)站地址的話用這個(gè):    //intent.setType("text/plain"); //純文本    share.setType("text/*");    // gets the list of intents that can be loaded.    List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);    if (!resInfo.isEmpty()) {      for (ResolveInfo info : resInfo) {        SharedPkgInfo spi = new SharedPkgInfo();        spi.pkgName = info.activityInfo.packageName;        spi.icon = info.loadIcon(getPackageManager());        spi.appName = info.loadLabel(getPackageManager()).toString();        spi.activityClassName=info.activityInfo.name;        sharePkgInfo.add(spi);        //Log.w("shared",spi.pkgName+" , "+spi.appName+","+info.activityInfo.name);      }    }  }}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玛多县| 亚东县| 大英县| 肇庆市| 丰城市| 邢台市| 九龙县| 霸州市| 元氏县| 临朐县| 罗甸县| 汝州市| 洞头县| 晋城| 精河县| 定西市| 马关县| 五华县| 东光县| 交口县| 怀柔区| 色达县| 榆林市| 定安县| 宜川县| 湟源县| 石城县| 兴文县| 泽库县| 北流市| 江门市| 邵阳市| 蒙城县| 报价| 望都县| 广安市| 扎兰屯市| 莆田市| 陇川县| 兴宁市| 天台县|