zoukankan      html  css  js  c++  java
  • 调用android手机微博客户端发送微博

    用隐式意图打开android手机中安装的微博客户端发送微博。

    反编译一下新浪微博的AndroidManifest.xml,发送微博的EditActivity

    		<activity
    			android:theme="@7F0C000B"
    			android:label="@7F0B0013"
    			android:name="EditActivity"
    			android:taskAffinity="com.sina.weibo.newblog"
    			android:configChanges="0x000000A0"
    			android:windowSoftInputMode="0x00000010"
    			>
    			<intent-filter
    				android:label="@7F0B00ED"
    				>
    				<action
    					android:name="android.intent.action.SEND"
    					>
    				</action>
    				<category
    					android:name="android.intent.category.DEFAULT"
    					>
    				</category>
    				<data
    					android:mimeType="image/*"
    					>
    				</data>
    			</intent-filter>
    			<intent-filter
    				android:label="@7F0B00ED"
    				>
    				<action
    					android:name="android.intent.action.SEND"
    					>
    				</action>
    				<data
    					android:mimeType="text/plain"
    					>
    				</data>
    				<category
    					android:name="android.intent.category.DEFAULT"
    					>
    				</category>
    			</intent-filter>
    			<intent-filter
    				android:label="@7F0B00ED"
    				>
    				<action
    					android:name="com.sina.weibo.intent.action.NEW_BLOG"
    					>
    				</action>
    				<category
    					android:name="android.intent.category.DEFAULT"
    					>
    				</category>
    			</intent-filter>
    		</activity>

    反编译一下新浪微博的EditActivity

    EditActivity中的oncreate方法中重要代码

        File localFile1 = Environment.getExternalStorageDirectory();
        StringBuilder localStringBuilder = new StringBuilder("tmp_bmp_");
        long l = SystemClock.currentThreadTimeMillis();
        String str3 = l + ".jpg";
        File localFile2 = new File(localFile1, str3);
        this.sdcardTempFile = localFile2;
        LauchMode localLauchMode = (LauchMode)getIntent().getSerializableExtra("com.sina.weibo.intent.extra.LAUCH_MODE");
        onLauchModeChanged(localLauchMode);


    private void onLauchModeChanged(LauchMode paramLauchMode) 如果我们用的是android.intent.action.SEND即LauchMode.SHARE;

    if ((!sudroid.TextUtils.isEmptyOrBlank(str1)) && (str1.equals("android.intent.action.SEND")))
          paramLauchMode = LauchMode.SHARE;


     

     str2 = getIntent().getStringExtra("android.intent.extra.TEXT");
        if (!android.text.TextUtils.isEmpty(str2))
        {
          setEditText(str2);
          Editable localEditable = this.etMblog.getText();
          int j = str2.length();
          Selection.setSelection(localEditable, j);
        }
        loadShareImage();


    文字信息已经在EditActivity中显示出来了 接下来要loadShareImage了

      protected void loadShareImage()
      {
        Uri localUri = (Uri)getIntent().getParcelableExtra("android.intent.extra.STREAM");
        if (localUri == null)
          return;
        displayImageUri(localUri);
      }


    获取到Uri之后就要 displayImageUri

    private void displayImageUri(Uri paramUri)
      {
        this.mImageLoadingHelper.importBitmapFile(paramUri);
        if (!this.mImageLoadingHelper.hasBitmap())
        {
          Toast.makeText(this, 2131427539, 0).show();
          return;
        }
        displayInsertBitmap();
      }
    

    如果Bitmap存在就displayInsertBitmap

            Bitmap localBitmap = this.mImageLoadingHelper.createThumbnail();
            localImageView1.setImageBitmap(localBitmap);
    


    图片就展示在EditActivity中了

    以上信息我们就可以写出调用EditActivity的隐式意图了。

            Intent intent = new Intent("android.intent.action.SEND");
            intent.setType("image/*");    
            intent.putExtra(Intent.EXTRA_SUBJECT, "分享");    
            intent.putExtra(Intent.EXTRA_TEXT, "终于可以了!!!");
            intent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file:////sdcard//8.png"));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
            startActivity(Intent.createChooser(intent, getTitle()));  

    当发送完微博后,我放到sdcard中的图片会消失。也就是这张图片//sdcard//8.png

  • 相关阅读:
    ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍) 【转】
    一个建议,看看大家的意见。
    发现不错的文章,推!
    有个小问题,大家一起研究。
    逼不得已,这个我确实不会,昨办?
    MSN Message6.2 的小BUG
    在IE7浏览器中切换成以资源管理器方式
    手机罗盘(指南针)校准方法
    G13/ Wildfire S/A510e link2SD教程,干净清洁的安装程序到内存卡
    HTC G13电池怎么鉴别真伪
  • 原文地址:https://www.cnblogs.com/wendao/p/2609148.html
Copyright © 2011-2022 走看看