Commit bca448d5 authored by 王雪伟's avatar 王雪伟

修复闪退问题

parent b4ee0c86
...@@ -156,6 +156,7 @@ public class MainActivity extends Activity { ...@@ -156,6 +156,7 @@ public class MainActivity extends Activity {
@Override @Override
public void OnAdClosed() { public void OnAdClosed() {
Log.d("wxw","RewardVideoAd OnAdClosed"); Log.d("wxw","RewardVideoAd OnAdClosed");
RewardAd();
} }
@Override @Override
......
...@@ -48,7 +48,13 @@ public class RewardVideoMediaPlayer { ...@@ -48,7 +48,13 @@ public class RewardVideoMediaPlayer {
} }
return mMediaPlayer; return mMediaPlayer;
} }
/**
* 重置MediaPlayer
*/
public void resetMediaPlayer() {
getMediaPlayer().release();
mMediaPlayer = null;
}
public Activity getActivity() { public Activity getActivity() {
return mActivity; return mActivity;
} }
...@@ -57,7 +63,8 @@ public class RewardVideoMediaPlayer { ...@@ -57,7 +63,8 @@ public class RewardVideoMediaPlayer {
try { try {
this.mHcAdBean = mHcAdBean; this.mHcAdBean = mHcAdBean;
isPrepared = false; isPrepared = false;
getMediaPlayer().reset(); // getMediaPlayer().reset();
resetMediaPlayer();
getMediaPlayer().setDataSource(mHcAdBean.getVideo_url()); getMediaPlayer().setDataSource(mHcAdBean.getVideo_url());
getMediaPlayer().prepareAsync(); getMediaPlayer().prepareAsync();
getMediaPlayer().setOnPreparedListener(new MediaPlayer.OnPreparedListener() { getMediaPlayer().setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
...@@ -74,7 +81,13 @@ public class RewardVideoMediaPlayer { ...@@ -74,7 +81,13 @@ public class RewardVideoMediaPlayer {
public void onCompletion(MediaPlayer mp) { public void onCompletion(MediaPlayer mp) {
Log.d("wxw", "MediaPlayer onCompletion"); Log.d("wxw", "MediaPlayer onCompletion");
if (null != updateViewListener) { if (null != updateViewListener) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnVideoCompleted(); mShowListener.OnVideoCompleted();
}
});
updateViewListener.OnCompletionListener(); updateViewListener.OnCompletionListener();
} }
} }
...@@ -84,7 +97,12 @@ public class RewardVideoMediaPlayer { ...@@ -84,7 +97,12 @@ public class RewardVideoMediaPlayer {
public boolean onError(MediaPlayer mp, int what, int extra) { public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("wxw", "MediaPlayer error " + what + " extra " + extra); Log.d("wxw", "MediaPlayer error " + what + " extra " + extra);
if (null != updateViewListener) { if (null != updateViewListener) {
mShowListener.OnVideoError("" + what); mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnVideoError("what" + what+" extra "+extra);
}
});
updateViewListener.OnErrorListener(what + ""); updateViewListener.OnErrorListener(what + "");
} }
return false; return false;
...@@ -102,8 +120,13 @@ public class RewardVideoMediaPlayer { ...@@ -102,8 +120,13 @@ public class RewardVideoMediaPlayer {
if (isPrepared) {//资源加载完成 if (isPrepared) {//资源加载完成
isShowVideo = false; isShowVideo = false;
if (null != mShowListener) { if (null != mShowListener) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnAdShow(); mShowListener.OnAdShow();
} }
});
}
if (null != updateViewListener) { if (null != updateViewListener) {
updateViewListener.OnShowListener(); updateViewListener.OnShowListener();
} }
...@@ -117,22 +140,44 @@ public class RewardVideoMediaPlayer { ...@@ -117,22 +140,44 @@ public class RewardVideoMediaPlayer {
* 关闭激励视频页面 * 关闭激励视频页面
*/ */
public void closeVideoAdPage() { public void closeVideoAdPage() {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnAdClosed(); mShowListener.OnAdClosed();
} }
});
}
/** /**
* 可以领取奖励 * 可以领取奖励
*/ */
public void rewardVerify() { public void rewardVerify() {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnRewardVerify(); mShowListener.OnRewardVerify();
} }
});
}
/** /**
* 点击激励视频下载 * 点击激励视频下载
*/ */
public void clickVideoAd() { public void clickVideoAd() {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mShowListener.OnAdClicked(); mShowListener.OnAdClicked();
} }
});
}
});
}
/** /**
* @return 广告资源 * @return 广告资源
......
...@@ -21,7 +21,7 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -21,7 +21,7 @@ public class ZXHCRewardVideoAD implements Serializable {
private Activity context; private Activity context;
private String codeId; private String codeId;
public boolean isLoadFinish; public boolean isLoadFinish;
private HcAdBean adBean; private HcAdBean adBean = null;
public ZXHCRewardVideoAD(Activity context, String codeId) { public ZXHCRewardVideoAD(Activity context, String codeId) {
this.context = context; this.context = context;
...@@ -55,8 +55,6 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -55,8 +55,6 @@ public class ZXHCRewardVideoAD implements Serializable {
adBean.setVideoPlay14Report(false); adBean.setVideoPlay14Report(false);
adBean.setVideoCloseReport(false); adBean.setVideoCloseReport(false);
adBean.setVideoSkipReport(false); adBean.setVideoSkipReport(false);
adBean.setClickDpLinkSucReport(false); adBean.setClickDpLinkSucReport(false);
adBean.setClickDpLinkfailReport(false); adBean.setClickDpLinkfailReport(false);
if (null == adBean.getVideo_url() || adBean.getVideo_url().equals("")) { if (null == adBean.getVideo_url() || adBean.getVideo_url().equals("")) {
...@@ -100,7 +98,17 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -100,7 +98,17 @@ public class ZXHCRewardVideoAD implements Serializable {
* 播放激励视频 * 播放激励视频
*/ */
public void showRewardAD(Activity activity, RewardVideoAdShowListener listener) { public void showRewardAD(Activity activity, RewardVideoAdShowListener listener) {
if (adBean == null) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnVideoError("视频广告资源为空");
}
});
return;
}
RewardVideoMediaPlayer.getInstance().setShowRewardVideoListener(activity, listener); RewardVideoMediaPlayer.getInstance().setShowRewardVideoListener(activity, listener);
activity.startActivity(new Intent(activity, RewardVideoPortraitADActivity.class)); activity.startActivity(new Intent(activity, RewardVideoPortraitADActivity.class));
adBean = null;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment