通常用户必须转到通知栏 - >单击“选择将文件复制到计算机或从计算机复制文件”,然后显示提供mount / unmount / etc的活动。选项。任何人都可以分享尝试从应用程序打开它的经验吗?
似乎有一个人在应用程序here中找到了一种方法来打开它,但仅限于HTC手机。知道我怎么能找到其他设备的活动吗?
编辑:请参阅下面的评论;看起来它可能与设备无关,并且该类的全名是com.android.server.status.UsbStorageActivity
答案 0 :(得分:0)
不幸的是,只有系统可以打开此对话框。
我尝试使用
启动UsbStorageActivity Intent intent = new Intent();
intent.setClassName("android", "com.android.server.status.UsbStorageActivity");
getContext().startActivity(intent);
但得到以下例外:
03-21 09:13:55.653: WARN/ActivityManager(2491): Permission denied: checkComponentPermission() reqUid=1000
03-21 09:13:55.653: WARN/ActivityManager(2491): Permission Denial: starting Intent { cmp=android/com.android.server.status.UsbStorageActivity } from ProcessRecord{47d615c8 3399:com.saltillo.chatpc/10080} (pid=3399, uid=10080) requires null
03-21 09:13:55.657: DEBUG/AndroidRuntime(3399): Shutting down VM
03-21 09:13:55.657: WARN/dalvikvm(3399): threadid=1: thread exiting with uncaught exception (group=0x4001d7d0)
03-21 09:13:55.665: ERROR/AndroidRuntime(3399): FATAL EXCEPTION: main
03-21 09:13:55.665: ERROR/AndroidRuntime(3399): java.lang.SecurityException: Permission Denial: starting Intent { cmp=android/com.android.server.status.UsbStorageActivity } from ProcessRecord{47d615c8 3399:com.saltillo.chatpc/10080} (pid=3399, uid=10080) requires null
我认为这意味着如果不共享the system uid,就无法启动此流程。据我所知,这是不可能的。否则,有人请指正!