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

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

<activityandroid:theme="@7F0C000B"android:label="@7F0B0013"android:name="EditActivity"android:taskAffinity="com.sina.weibo.newblog"android:configChanges="0x000000A0"android:windowSoftInputMode="0x00000010"><intent-filterandroid:label="@7F0B00ED"><actionandroid:name="android.intent.action.SEND"></action><categoryandroid:name="android.intent.category.DEFAULT"></category><dataandroid:mimeType="image/*"></data></intent-filter><intent-filterandroid:label="@7F0B00ED"><actionandroid:name="android.intent.action.SEND"></action><dataandroid:mimeType="text/plain"></data><categoryandroid:name="android.intent.category.DEFAULT"></category></intent-filter><intent-filterandroid:label="@7F0B00ED"><actionandroid:name="com.sina.weibo.intent.action.NEW_BLOG"></action><categoryandroid: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()));  
调用android手机微博客户端发送微博 调用android手机微博客户端发送微博

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

更多相关文章

  1. 2013.04.03——— android 图片缓存之二LruCache介绍
  2. Android利用Matrix简单处理图片
  3. android带有文字的图片按钮的两种实现方式
  4. 演化理解 Android 异步加载图片
  5. Android布局的一些属性和开关、创建log图片
  6. Android WebView实现选择本地图片拍照功能
  7. 很实用的android压缩图片的算法
  8. android imageView 图片显示方式属性

随机推荐

  1. eclipse,android keystore
  2. Android(安卓)frameworks去掉熄屏前先变
  3. Android(安卓)Studio SVN配置忽略文件
  4. Android(安卓)软件安装程序(*.apk)的结构
  5. android安卓系统上运行jar文件
  6. Android——效率提升之AndroidStudio快速
  7. Android(安卓)Camera从Camera HAL1到Came
  8. Android(安卓)JNI HelloWorld实现
  9. 一个简单的Android程序的登录界面
  10. Android中的Context----既熟悉又陌生的朋