zoukankan      html  css  js  c++  java
  • Android分享中, 过滤指定的应用,已经过滤蓝牙, 并且对不同的分享方式发送不同的内容?

                String contentDetails = "朋友快来玩 ***游戏把";                     
                        
                        Intent intent = new Intent(Intent.ACTION_SEND);  //  启动分享发送的属性
                        intent.setType("text/plain");
                        intent.setType("image/*");     //分享图片信息类型
                        List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(intent, 0);
                        
                        if(!resInfo.isEmpty()){
                            List<Intent>targetedShareIntents =  new ArrayList<Intent>();
                            for(ResolveInfo info :resInfo){
                                Intent targeted = new Intent(Intent.ACTION_SEND);
                                intent.setType("image/*");     //分享图片信息类型
                                targeted.setType("text/plain");
                                ActivityInfo activityInfo = info.activityInfo;
                                
                                if(activityInfo.packageName.contains("bluetooth")||
                                        activityInfo.name.contains("bluetooth")){
                                    continue;        //过滤蓝牙应用
                                } 
                                if(activityInfo.packageName.contains("com.my.activity")||
                                        activityInfo.name.contains("com.my.activity")){
                                    continue;      //过滤自己的应用包
                                }
                                if(activityInfo.packageName.contains("gm")||
                                        activityInfo.name.contains("mail")){
                                    targeted.putExtra(Intent.EXTRA_TEXT, contentDetails);
                                }else if(activityInfo.packageName.contains("zxing")){
                                    targeted.putExtra(Intent.EXTRA_TEXT, contentDetails);
                                }else{
                                    targeted.putExtra(Intent.EXTRA_TEXT, contentDetails);
                                }
                                targeted.setPackage(activityInfo.packageName);
                                targetedShareIntents.add(targeted);
                            }
                            //分享框标题
                            Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0),"选择程序分享");
                            if(chooserIntent == null){
                                return;
                            }
                            
                            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, 
                                    targetedShareIntents.toArray(new Parcelable[]{}));
                            try{
                                startActivity(chooserIntent);
                            }catch(android.content.ActivityNotFoundException ex){
                                 Toast.makeText(Activity_AboutMe.this, "没找到分享的应用", Toast.LENGTH_SHORT).show();                         
                            }                                       
                        }
  • 相关阅读:
    SNP/单核苷酸多态性分析
    非链特异性转录组测序
    什么是转录因子?
    MEME(Motif-based sequence analysis tools)使用说明
    DNA binding motif比对算法
    序列比对那点事儿
    DNA motif 搜索算法总结
    Bioconductor简介
    什么是RNA-Seq (RNA Sequencing)
    TPM、read counts、RPKM/FPKM你选对了吗?
  • 原文地址:https://www.cnblogs.com/firecode/p/2686884.html
Copyright © 2011-2022 走看看