可以从应用程序中调用系统的USB模式活动吗?

时间:2011-03-18 22:08:20

标签: android android-activity usb mount

通常用户必须转到通知栏 - >单击“选择将文件复制到计算机或从计算机复制文件”,然后显示提供mount / unmount / etc的活动。选项。任何人都可以分享尝试从应用程序打开它的经验吗?

似乎有一个人在应用程序here中找到了一种方法来打开它,但仅限于HTC手机。知道我怎么能找到其他设备的活动吗?

编辑:请参阅下面的评论;看起来它可能与设备无关,并且该类的全名是com.android.server.status.UsbStorageActivity

1 个答案:

答案 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,就无法启动此流程。据我所知,这是不可能的。否则,有人请指正!