[求助]Gallery中播放视频的时候,拔掉TF卡 本帖最后由 Angleyuhj 于 2012-03-24 17:16:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 额 神奇的android 求回答 拔掉TF卡 系统会发送一个广播,用Gallery 去捕获该广播 在自己播放视频代码处理该广播 不一定非要在EJECT消息处理 拔掉TF卡 系统会发送一个广播,用Gallery 去捕获该广播 在自己播放视频代码处理该广播 不一定非要在EJECT消息处理捕获广播是没有用的。如果不能从EJECT中关闭文件,系统一样会kill掉这个进程。 现在有一种办法是重写一个写入流重写wirte方法fileOutPutSteam有一个getFD().sync();方法。调用它,然后抛异常。不过现在还是会杀进程。还没解决。 你说的EJECT不知道是什么我知道你的设备,读取tf之后,挂载的位置是/mnt/sdcard/extsd文件夹,你将tf卡拔掉之后,那么该文件夹将不再挂载tf卡,里面内容为空,你不能播放视频了!会报错的! 我也遇到同样的问题,系统直接杀进程,求解决D/Vold ( 910): wuxingyu : vm handleBlockEventD/DirVolume( 910): wuxingyu : handleBlockEvent beginD/MountService( 1276): sendStorageIntent Intent { act=android.intent.action.MEDIA_BAD_REMOVAL dat=file:///mnt/sdb/sdb1 (has extras) }V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)D/MountService( 1276): wuxingyu : use the mConnectorSpec[1]D/VoldCmdListener( 910): volume unmount_bad /mnt/sdb/sdb1 force_and_revertD/Vold ( 910): Volume sdb1 state changing 4 (Mounted) -> 5 (Unmounting)V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)I/USBReceiver( 1870): ---------USBReceiver---ACTION_MEDIA_UNMOUNTED-/mnt/sdb/sdb1I/USBReceiver( 1870): mHandler == nullV/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)W/Vold ( 910): Failed to unmount /mnt/sdb/sdb1 (Device or resource busy, retries 9, action 0)V/android hall( 1856): sdcard status changed!V/cpeng @@@@@@@@@@@( 1856): start check media status.V/cpeng @@@@@@@@@@@( 1856): media status : MEDIA_MOUNTEDV/cpeng ( 1856): finish check media status.E/ProcessKiller( 910): Process com.voole.epg (3311) has open file /mnt/sdb/sdb1/voole_video/vooledownload.dbW/ProcessKiller( 910): Sending SIGHUP to process 3311D/Zygote ( 917): Process 3311 terminated by signal (15)W/InputDispatcher( 1276): channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8E/InputDispatcher( 1276): channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!W/InputDispatcher( 1276): Attempted to unregister already unregistered input channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)'I/ActivityManager( 1276): Process com.voole.epg (pid 3311) has died.I/WindowManager( 1276): WIN DEATH: Window{41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity paused=false}I/ActivityManager( 1276): haveBgApp:true app.setAdj:0W/ActivityManager( 1276): Scheduling restart of crashed service com.voole.epg/.download.VDownloadService in 5000msI/WindowManager( 1276): WIN DEATH: Window{416db508 com.voole.epg/com.voole.epg.view.movies.movie.MovieActivity paused=false}I/WindowManager( 1276): WIN DEATH: Window{416b45a8 com.voole.epg/com.voole.epg.view.movies.account.AccountActivity paused=false}I/WindowManager( 1276): WIN DEATH: Window{417445c8 com.voole.epg/com.voole.epg.download.DownManagerActivity paused=false}I/WindowManager( 1276): WINDOW DIED Window{41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity paused=false}W/ActivityManager( 1276): Force removing ActivityRecord{41714048 com.voole.epg/.download.DownManagerActivity}: app died, no saved stateE/hwcomposer( 916): hisicomposeimp fail! 如何将汉字转为url编码? 我的eclipse中怎么没有android EditText android 如何获取彩信附件大小 PopupWindow 如何响应背景view中button按键事件? 菜鸟问服务端编程问题 在本机连接webservice 大部分时间连不上,这是为什么? android图表问题 安卓4.4 如何把favorite联系人加到联系人列表的顶端 android json数据 求教大神帮帮我,谢谢 Android使用google analytics 完成电子商务跟踪 在2.x系统下正常的系统裁剪图片程序,在4.0下发生诡异错误! 下载Android源码问题
拔掉TF卡 系统会发送一个广播,用Gallery 去捕获该广播 在自己播放视频代码处理该广播 不一定非要在EJECT消息处理
拔掉TF卡 系统会发送一个广播,用Gallery 去捕获该广播 在自己播放视频代码处理该广播 不一定非要在EJECT消息处理
捕获广播是没有用的。如果不能从EJECT中关闭文件,系统一样会kill掉这个进程。
现在有一种办法是重写一个写入流
重写wirte方法
fileOutPutSteam有一个getFD().sync();
方法。调用它,然后抛异常。不过现在还是会杀进程。还没解决。
D/Vold ( 910): wuxingyu : vm handleBlockEvent
D/DirVolume( 910): wuxingyu : handleBlockEvent begin
D/MountService( 1276): sendStorageIntent Intent { act=android.intent.action.MEDIA_BAD_REMOVAL dat=file:///mnt/sdb/sdb1 (has extras) }
V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)
D/MountService( 1276): wuxingyu : use the mConnectorSpec[1]
D/VoldCmdListener( 910): volume unmount_bad /mnt/sdb/sdb1 force_and_revert
D/Vold ( 910): Volume sdb1 state changing 4 (Mounted) -> 5 (Unmounting)
V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)
I/USBReceiver( 1870): ---------USBReceiver---ACTION_MEDIA_UNMOUNTED-/mnt/sdb/sdb1
I/USBReceiver( 1870): mHandler == null
V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)
V/MediaPlayerService( 919): [2] notify (0x1e70b50, 3, 2, 0)
W/Vold ( 910): Failed to unmount /mnt/sdb/sdb1 (Device or resource busy, retries 9, action 0)
V/android hall( 1856): sdcard status changed!
V/cpeng @@@@@@@@@@@( 1856): start check media status.
V/cpeng @@@@@@@@@@@( 1856): media status : MEDIA_MOUNTED
V/cpeng ( 1856): finish check media status.
E/ProcessKiller( 910): Process com.voole.epg (3311) has open file /mnt/sdb/sdb1/voole_video/vooledownload.db
W/ProcessKiller( 910): Sending SIGHUP to process 3311
D/Zygote ( 917): Process 3311 terminated by signal (15)
W/InputDispatcher( 1276): channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8
E/InputDispatcher( 1276): channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
W/InputDispatcher( 1276): Attempted to unregister already unregistered input channel '41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity (server)'
I/ActivityManager( 1276): Process com.voole.epg (pid 3311) has died.
I/WindowManager( 1276): WIN DEATH: Window{41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity paused=false}
I/ActivityManager( 1276): haveBgApp:true app.setAdj:0
W/ActivityManager( 1276): Scheduling restart of crashed service com.voole.epg/.download.VDownloadService in 5000ms
I/WindowManager( 1276): WIN DEATH: Window{416db508 com.voole.epg/com.voole.epg.view.movies.movie.MovieActivity paused=false}
I/WindowManager( 1276): WIN DEATH: Window{416b45a8 com.voole.epg/com.voole.epg.view.movies.account.AccountActivity paused=false}
I/WindowManager( 1276): WIN DEATH: Window{417445c8 com.voole.epg/com.voole.epg.download.DownManagerActivity paused=false}
I/WindowManager( 1276): WINDOW DIED Window{41734960 com.voole.epg/com.voole.epg.view.movies.home.HomeActivity paused=false}
W/ActivityManager( 1276): Force removing ActivityRecord{41714048 com.voole.epg/.download.DownManagerActivity}: app died, no saved state
E/hwcomposer( 916): hisicomposeimp fail!