package cn.com.uangel.adsdk.util; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; import android.widget.PopupWindow; import cn.com.uangel.adsdk.entity.Advertisement; public class ClickListner { public static void onClick(Context context, Advertisement clickResult) { switch (clickResult.getClick_result()) { case 1:// 浏览网页 Uri uriIe = Uri.parse(clickResult.getWeb_url()); Intent Ie = new Intent(Intent.ACTION_VIEW, uriIe); context.startActivity(Ie); break; case 2:// 下载应用 Uri uriLoad = Uri.parse(clickResult.getWeb_url()); Intent Iload = new Intent(Intent.ACTION_VIEW, uriLoad); context.startActivity(Iload); break; case 3:// 打电话 Intent Icall = new Intent(); Icall.setAction("android.intent.action.DIAL"); Icall.setData(Uri.parse("tel:" + clickResult.getTel())); context.startActivity(Icall); break; case 4:// 发信息 Intent Isms = new Intent(); Isms.setAction("android.intent.action.SENDTO"); Isms.setData(Uri.parse("smsto:" + clickResult.getTel())); Isms.putExtra("sms_body", clickResult.getSms()); context.startActivity(Isms); break; case 5:// 发邮件 Intent intentEm = new Intent(Intent.ACTION_SEND); intentEm.putExtra(Intent.EXTRA_EMAIL, clickResult.getEmail()); // 设置收件箱 intentEm.putExtra(Intent.EXTRA_SUBJECT, clickResult.getEmail_title()); // 设置标题内容 intentEm.putExtra(Intent.EXTRA_TEXT, clickResult.getEmail_content()); // 设置正文 intentEm.setType("application/octet-stream"); // 其他的均使用流当做二进制数据来发送 context.startActivity(intentEm); // 调用系统的mail客户端进行发送 break; case 6:// 地图 Intent mapIt = new Intent(context, BaiduMapActivity.class); mapIt.putExtra("lat", clickResult.getLat()); mapIt.putExtra("lon", clickResult.getLon()); mapIt.putExtra("addressName", clickResult.getWeb_url()); context.startActivity(mapIt); break; case 7:// 视屏 Intent videoI = new Intent(); videoI.setClass(context, VideoPlayerActivity.class); videoI.putExtra("vedio", clickResult.getVideo_url()); CommunalData.is_vedio = false; context.startActivity(videoI); break; case 8:// 音乐 String[] musicInfo = clickResult.getMp3_url().split("¿"); playMusic(context, musicInfo[1]); break; case 9:// 显示 全屏图片 // Intent fullI = new Intent(); // fullI.setClass(context, AdView_FullActivity.class); // context.startActivity(fullI); ViewGroup popView = new LinearLayout(context); popView.setBackgroundDrawable(clickResult.getClickFullImg()); final PopupWindow mPopupWindow = new PopupWindow(popView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); mPopupWindow.showAtLocation(clickResult.getClickWhichView(), Gravity.CENTER, 0, 0); final Handler h = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); mPopupWindow.dismiss(); } }; h.postDelayed(new Runnable() { public void run() { h.sendEmptyMessage(0); } }, 5000); break; } } private static void playMusic(Context context, String map_url) { CommunalData.is_vedio = false; MediaPlayer mMediaPlayer = new MediaPlayer(); mMediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { CommunalData.is_vedio = true; if (mp != null) { mp.stop(); mp.release(); mp = null; } } }); try { mMediaPlayer.setDataSource(map_url); mMediaPlayer.prepare(); mMediaPlayer.start();// TODO 有问题,只能播放几秒 } catch (Exception e) { e.printStackTrace(); } } }