您的位置:首页 > 移动开发 > Android开发

android---(分享操作)

2015-10-18 17:47 561 查看


//当单击按钮时,触发:
public class share extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
}

//当单击按钮时,触发,自动调用系统分享程序列表
public void sharedSimple(View view) {
Intent sendIntent = new Intent();
//作用
sendIntent.setAction(Intent.ACTION_SEND);

//类型
sendIntent.setType("text/plain");

//分享的内容
sendIntent.putExtra(Intent.EXTRA_TEXT,"你是谁啊");

//启动系统的分享程序
startActivity(sendIntent);
}

}


public class share extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
}

public void sharedSimple(View view) {
Intent sendIntent = new Intent();
//作用
sendIntent.setAction(Intent.ACTION_SEND);

//类型
sendIntent.setType("text/plain");

//分享的内容
sendIntent.putExtra(Intent.EXTRA_TEXT, "你是谁啊");

//指定选择器:参数:intent ,分享列标题
startActivity(Intent.createChooser(sendIntent, "您好啊"));
}

}




//分享图片:
public  void  sharedImage(View view){

//图片路径
Uri uriImage = Uri.parse("./sdcard/4.jpg");

Intent sendIntent = new Intent();
//作用
sendIntent.setAction(Intent.ACTION_SEND);

//类型
sendIntent.setType("image/*");

//分享的内容
sendIntent.putExtra(Intent.EXTRA_STREAM, uriImage);

startActivity(Intent.createChooser(sendIntent,"分享图片到"));
}




//分享多个内容

public  void  multImage(View view){

//图片路径
Uri uriImage1 = Uri.parse("./sdcard/1.jpg");
Uri uriImage2 = Uri.parse("./sdcard/4.jpg");

ArrayList<Uri> list = new ArrayList<Uri>();

list.add(uriImage1);
list.add(uriImage2);

Intent sendIntent = new Intent();
//作用
sendIntent.setAction(Intent.ACTION_SEND_MULTIPLE);

//类型
sendIntent.setType("image/*");

//分享的内容
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,list);

startActivity(Intent.createChooser(sendIntent, "分享图片到"));

}






//自已的app接收数据:会自动在分享列表程序中显示自已的app,
public class ReceiverShared extends AppCompatActivity {

TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receiver_shared);

textView = (TextView) findViewById(R.id.content);

handlerContent();
}

private void handlerContent() {

Intent intent = getIntent();

String type = intent.getType();
String action = intent.getAction();

if(Intent.ACTION_SEND.equals(action)){
if("text/plain".equals(type)){
//获取内容:
String info = intent.getStringExtra(Intent.EXTRA_TEXT);

textView.setText(info);
}
}
}

}

清单配置:
//接收数据的activity:
<activity
android:name=".ReceiverShared"
android:label="@string/title_activity_receiver_shared" >

<intent-filter>
<action android:name="android.intent.action.SEND"></action>

<category android:name="android.intent.category.DEFAULT"></category>

<data android:mimeType="text/plain"/>
</intent-filter>

</activity>




在标题栏上显示像qq 一样的分享图标功能:

//菜单项:
<item
android:id="@+id/shares"
android:orderInCategory="200"
android:title="分享"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
app:showAsAction="ifRoom"/>

//activity类:
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.menu_main, menu);

MenuItem item = menu.findItem(R.id.shares);
//一定是V7下的包
ShareActionProvider sp = (ShareActionProvider) MenuItemCompat.getActionProvider(item);

Intent intent = new Intent();

intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");

//分享的内容
intent.putExtra(Intent.EXTRA_TEXT, "你好啊1");

sp.setShareIntent(intent);

return super.onCreateOptionsMenu(menu);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: