package com.wise.wawc; import java.io.File; import cn.sharesdk.framework.ShareSDK; import com.wise.data.CarData; import com.wise.pubclas.BlurImage; import com.wise.pubclas.Constant; import com.wise.pubclas.GetSystem; import com.wise.pubclas.Variable; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; /** * 位置分享 * * @author honesty */ public class ShareLocationActivity extends Activity { private static final String TAG = "ShareLocationActivity"; EditText et_share_content; TextView tv_adress, tv_reason; ImageView iv_photo; String imagePath = ""; String reason; CarData carData; boolean isDelete = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share_location); ShareSDK.initSDK(this); ImageView iv_activity_share_location_back = (ImageView) findViewById(R.id.iv_activity_share_location_back); iv_activity_share_location_back.setOnClickListener(onClickListener); tv_adress = (TextView) findViewById(R.id.tv_adress); tv_reason = (TextView) findViewById(R.id.tv_reason); iv_photo = (ImageView) findViewById(R.id.iv_photo); iv_photo.setOnLongClickListener(onLongClickListener); iv_photo.setOnClickListener(onClickListener); ImageView iv_camera = (ImageView) findViewById(R.id.iv_camera); iv_camera.setOnClickListener(onClickListener); Button bt_activity_share = (Button) findViewById(R.id.bt_activity_share); bt_activity_share.setOnClickListener(onClickListener); et_share_content = (EditText) findViewById(R.id.et_share_content); Intent intent = getIntent(); reason = intent.getStringExtra("reason"); tv_reason.setText(reason); int index = intent.getIntExtra("index", 0); carData = Variable.carDatas.get(index); tv_adress.setText(carData.getAdress()); Log.d(TAG, carData.toString()); } OnClickListener onClickListener = new OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_activity_share_location_back: finish(); break; case R.id.iv_photo: if(isDelete){ isDelete = false; iv_photo.setVisibility(View.GONE); iv_photo.setImageBitmap(null); }else{ Intent intent = new Intent(ShareLocationActivity.this, ImageShowerActivity.class); intent.putExtra("ImagePath", imagePath); startActivity(intent); } break; case R.id.iv_camera: File file = new File(Constant.picPath); if (!file.exists()) { System.out.println("创建文件夹"); file.mkdirs();// 创建文件夹 } Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Constant.picPath + Constant.ShareImage))); startActivityForResult(intent, 1); Log.d(TAG,"保存图片路径" + Constant.picPath + Constant.ShareImage); break; // 分享 TODO case R.id.bt_activity_share: String content = et_share_content.getText().toString().trim(); String url = "http://api.map.baidu.com/geocoder?location=" + carData.getLat() + "," + carData.getLon() + "&coord_type=bd09ll&output=html"; StringBuffer sb = new StringBuffer(); sb.append("【" + reason + "】 "); if(carData.getGps_time() != null && !carData.getGps_time().equals("")){ try { sb.append(carData.getGps_time().substring(5, 16) + " "); } catch (Exception e) { e.printStackTrace(); sb.append(carData.getGps_time() + " "); } } sb.append(carData.getObj_name()); sb.append(" 位于" + carData.getAdress()); if (!content.equals("")) { sb.append(" (" + content + ")"); } sb.append(" " + url); GetSystem.share(ShareLocationActivity.this, sb.toString(), imagePath, Float.valueOf(carData.getLat()), Float.valueOf(carData.getLon()),reason,url); break; } } }; OnLongClickListener onLongClickListener = new OnLongClickListener() { @Override public boolean onLongClick(View v) { switch (v.getId()) { case R.id.iv_photo: isDelete = true; iv_photo.setImageResource(R.drawable.body_icon_delete); break; } return true; } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { imagePath = ""; // 修改图片大小 Bitmap bitmap = BlurImage.decodeSampledBitmapFromPath(Constant.picPath + Constant.ShareImage, 480, 800); Log.d(TAG, bitmap.getWidth() + "," + bitmap.getHeight() + ","); // 再存储到sd卡 GetSystem.saveImageSD(bitmap, Constant.picPath, Constant.ShareImage,30); // 显示到控件上 bitmap = BlurImage.decodeSampledBitmapFromPath(Constant.picPath + Constant.ShareImage, 150, 150); bitmap = BlurImage.getSquareBitmap(bitmap); Log.d(TAG, bitmap.getWidth() + "," + bitmap.getHeight() + ","); Log.d(TAG, bitmap.getWidth() + "," + bitmap.getHeight() + ","); if (bitmap != null) { imagePath = Constant.picPath + Constant.ShareImage; //iv_photo.setImageBitmap(bitmap); iv_photo.setBackgroundDrawable(new BitmapDrawable(bitmap)); iv_photo.setVisibility(View.VISIBLE); isDelete = false; iv_photo.setImageBitmap(null); } GetSystem.displayBriefMemory(ShareLocationActivity.this); } } @Override public boolean dispatchTouchEvent(MotionEvent ev) { Log.d(TAG, "dispatchTouchEvent"); if(isDelete){ if(ev.getAction() == MotionEvent.ACTION_DOWN){ iv_photo.setImageBitmap(null); } } return super.dispatchTouchEvent(ev); } }