热门IT资讯网

android调用系统分享

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,package com.example.sharedemo;import com.google.zxing.WriterException;import android.net.Uri;import
package com.example.sharedemo;

import com.google.zxing.WriterException;

import android.net.Uri;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class ShareActivity extends Activity {

private Button btnshare;

private Context context;

private String msg;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_share);

context = ShareActivity.this;

msg = "Test share";

btnshare = (Button) findViewById(R.id.button1);

btnshare.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

shareMemo(context, msg);

}

});

}

public static void shareMemo(final Context context, final String uid) {

new AlertDialog.Builder(context)

.setTitle(context.getString(R.string.selectsharemode))

.setItems(

context.getResources()

.getStringArray(R.array.sharemode),

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,

int which) {

// TODO Auto-generated method stub

if (which == 0) {

Intent it = new Intent(Intent.ACTION_SEND);

it.putExtra(Intent.EXTRA_TEXT, uid);

// it.setType("audio

public Bitmap Create2DCode(String str) throws WriterException {

//生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败

qrcode = str;

BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300);

int width = matrix.getWidth();

int height = matrix.getHeight();

//二维矩阵转为一维像素数组,也就是一直横着排了

int[] pixels = new int[width * height];

for (int y = 0; y < height; y++) {

for (int x = 0; x < width; x++) {

if(matrix.get(x, y)){

pixels[y * width + x] = 0xff000000;

}

}

}

Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

//通过像素数组生成bitmap,具体参考api

bitmap.setPixels(pixels, 0, width, 0, 0, width, height);

return bitmap;

}

public Uri WriteBitmap(Bitmap bm)

{

String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + qrcode + ".png";

File file = new File(filepath);

try {

if(!file.createNewFile()) {

System.out.println("File already exists");

}

} catch (IOException ex) {

System.out.println(ex);

}

try {

FileOutputStream out = new FileOutputStream(file);

bm.compress(Bitmap.CompressFormat.PNG, 90, out);

out.flush();

out.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return Uri.fromFile(file);

}

}

//少不了权限

//strings.xml

请选择分享模式

文字分享UID

图片分享UID

另外需要导入core.jar库文件

这个可从网上下载


0