首页 > 其他 > 详细

当SD卡拔出时,返回首页,栈中的activity都要清楚,只留下首页的activity

时间:2015-10-16 18:24:54      阅读:268      评论:0      收藏:0      [点我收藏+]

目标:当SD卡拔出时,返回首页,栈中的activity都要清楚,只留下首页的activity

我在清单中注册了一个静态广播:

<receiver android:name="com.panocean.kepler.application.UsbBroadCastReceiver" >
<intent-filter android:priority="1000" >
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<action android:name="android.intent.action.MEDIA_EJECT" />
<data android:scheme="file" />
</intent-filter>
</receiver>

public class UsbBroadCastReceiver extends BroadcastReceiver {
public UsbBroadCastReceiver() {
}

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_MEDIA_EJECT)) {
Toast.makeText(context, "SD卡异常", Toast.LENGTH_LONG).show();
Intent intent2 = new Intent(context, FileExplorerActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent2);
}
}
}

当sd卡拔出时,系统发出广播,我注册的BroadCastReceiver会接收到这个广播,

做出处理。intent设置flag,系统要求flag必须要有Intent.FLAG_ACTIVITY_NEW_TASK,

否则会报错。Intent.FLAG_ACTIVITY_CLEAR_TOP清除栈中所有activity,重新绘制首页

activity;

当SD卡拔出时,返回首页,栈中的activity都要清楚,只留下首页的activity

原文:http://www.cnblogs.com/shenchanghui/p/4885898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!