上一篇博文中点击打开链接我们实现了文本的分享,那么这次呢实现的就是图片的分享,和文本的分享大同小异,我们直接看代码吧。
menu文件夹下的main.xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/share"
android:actionProviderClass="android.widget.ShareActionProvider"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="分享"/>
</menu>
然后是MainActivity中的实现:
package com.example.shareImage;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ShareActionProvider;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@SuppressLint("NewApi")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
// 获得菜单中的条目
MenuItem item = menu.findItem(R.id.share);
// 获取ShareActionProvider对象
ShareActionProvider provider = (ShareActionProvider) item
.getActionProvider();
// 创建一个意图对象
Intent intent = new Intent();
// 设置意图对象的动作
intent.setAction(Intent.ACTION_SEND);
// 设置分享的类型
intent.setType("image/*");
// 设置分享的图片路径
String path = "storage/sdcard/bd_logo1.png";
// 把图片的流放到意图对象中
intent.putExtra(Intent.EXTRA_STREAM, path);
// 启动意图对象
provider.setShareIntent(intent);
return true;
}
}
运行结果: