项目中用到 AsyncTask 当从一个activity直接调转到 VideoPlayActivity 这个activity中方法可以正常进去执行,没有一点问题
intent_first.putExtra("userType", "parent");
intent_first.setClass(MainActivity.this, MainStudentMangerActivity.class);
intent_first.setClass(MainActivity.this, VideoPlayActivity.class);
startActivity(intent_first);
但是 我从 GridTextAdapter 中 跳转到 VideoPlayActivity ,AsyncTask 里面的方法就不执行。
Intent intent = new Intent();
intent.putExtra("iamgeId", String.valueOf(position)+"");
intent.setClass(mContext, VideoPlayActivity.class);
v.getContext().startActivity(intent);
下面是 AsyncTask 方法
class PlayAsyncTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
// PLAY
initVideoView();
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (mPath.startsWith("http:"))
mVideoView.setVideoURI(Uri.parse(mPath));
else
mVideoView.setVideoPath(mPath);
// 设置显示名称
mMediaController = new MediaController(VideoPlayActivity.this, mVideoView);
mMediaController.setmPlayControl(mPlayControll);
mMediaController.setOnPauseListener(mPauseListener);
mVideoView.setMediaController(mMediaController);
mMediaController.setFileName("哈哈哈");
int mCurrentOrientation = getResources().getConfiguration().orientation;
if (mCurrentOrientation == Configuration.ORIENTATION_PORTRAIT) {
Utils.full(false, VideoPlayActivity.this);
mRl_PlayView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 400));
if (mVideoView != null){
// mVideoView.setVideoLayout(VideoView.VIDEO_LAYOUT_STRETCH, 0);
}
} else if (mCurrentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
Utils.full(true, VideoPlayActivity.this);
mRl_PlayView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
if (mVideoView != null)
mVideoView.setVideoLayout(mLayout, 0);
}
mVideoView.requestFocus();
mGestureDetector = new GestureDetector(new MyGestureListener());
}
}
------解决思路----------------------
所以你貼錯東西了, 你要看的是兩個activity之間有什麼不同
如果呼叫了execute不執行
那有沒有試過executeOnExecutor
有可能你有多個asynctask 所以導致thread卡住