Android 自动弹出大容量存储

Android原生默认是usb插入时,大容量存储以通知的形式告知用户,不会自动弹出,下面的方法可以让其自动弹出。

下面附上源码
frameworks\base\packages\SystemUI\src\com\android\systemui\usb\
StorageNotification.java

void updateUsbMassStorageNotification(boolean available) {
        if (available) {
            Intent intent = new Intent();
            intent.setClass(mContext, com.android.systemui.usb.UsbStorageActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            PendingIntent pi = PendingIntent.getActivity(mContext, 0, intent, 0);
            setUsbStorageNotification(
                    com.android.internal.R.string.usb_storage_notification_title,
                    com.android.internal.R.string.usb_storage_notification_message,
                    com.android.internal.R.drawable.stat_sys_data_usb,
                    false, true, pi);

}

这里就是当usb插入时,会在此生成一个UsbStorage的Notification,其跳转Activity为
com.android.systemui.usb.UsbStorageActivity,这个类在UsbStorageActivity.java里,感兴趣的可以参考下这个类,这就好办了,我们可以直接跳到这个类里,所以在这个函数最后加入startActivity(intent);呵呵,很简单吧!源码就是爽,源码里面方法严谨,框架清晰,里面有很多值得开发者去学习的地方。

改后

void updateUsbMassStorageNotification(boolean available) {

        if (available) {
            Intent intent = new Intent();
            intent.setClass(mContext, com.android.systemui.usb.UsbStorageActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            PendingIntent pi = PendingIntent.getActivity(mContext, 0, intent, 0);
            setUsbStorageNotification(
                    com.android.internal.R.string.usb_storage_notification_title,
                    com.android.internal.R.string.usb_storage_notification_message,
                    com.android.internal.R.drawable.stat_sys_data_usb,
                    false, true, pi);
            //add by xieyuan
            startActivity(intent);
            //end
        }

小弟刚刚涉足Android SDK的开发,感觉这个比起做Android应用来,这个有趣一些,呵呵,希望和广大程序员一同进步,一同分享Android开发工作中的乐趣,这是我的第一次写博客,有点小激动,我觉得,趁自己年轻时,记录一下自己的点滴,这会充实自己,我记得有句广告词写的不错 “人生就像一场旅行,不必在乎目的地,在乎的只是沿途的风景以及看风景的心情”。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值