有沒有大神添加過開機廣告,就是在第一次開機開機影片之后即launcher啟動前播放一段廣告視頻,本人已成功添加,但是通過videoView播放放在res下的視頻,其中自定義的activity中通過以下代碼實作視頻播放
//加載指定的視頻檔案
String path = "android.resource://"+getPackageName()+"/"+R.raw.advert;
//String path = Environment.getExternalStorageDirectory().getPath()+"/temp.mp4";
Log.i("tag","path= "+path);
if (!TextUtils.isEmpty(path)){
videoView.setVideoPath(path);
videoView.setVideoURI(Uri.parse(path));
videoView.requestFocus();
videoView.start();
}
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
Log.i("tag","what= "+what);
if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START){
// videoView.setBackgroundResource(R.drawable.shutdown_bg);
videoView.setBackgroundColor(Color.TRANSPARENT);
}
return false;
}
});
}
});
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i("tag","persist.sys.videoad.finished= "+SystemProperties.get("persist.sys.videoad.finished","0"));
if("0".equals(SystemProperties.get("persist.sys.videoad.finished","0"))){
SystemProperties.set("persist.sys.videoad.finished","1");
}
finish();
//mp.start();
//mp.setLooping(true);
}
});
之后在AndroidManagerService.java的startHomeActivityLocked方法中進行跳轉實作
if("0".equals(SystemProperties.get("persist.sys.videoad.finished","0"))){
if(!mVideoAdvertActivityRunning){
Intent videoAdvertActivity = new Intent();
videoAdvertActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
videoAdvertActivity.setClassName("com.android.systemui","com.android.systemui.VideoAdvertActivity");
mContext.startActivity(videoAdvertActivity);
mVideoAdvertActivityRunning = true;
}
return false;
}
以上修改可以實作在launcher啟動前播放一段視頻,但播放前會有一段黑屏,原本在開機影片播放完后將進入launcher前就有黑屏,但相比較黑屏時間較短,請問該如何優化?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/145684.html
標籤:Android
上一篇:pcl做點云顯示時出現vtkOutputWindow和Generic Warning
下一篇:h5搭建出現這種情況如何解決
