0

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

似乎有人在这里找到了一种从应用程序中打开它的方法,但仅适用于 HTC 手机。知道如何找出其他设备的活动可能是什么吗?

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

4

1 回答 1

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

我将其解释为如果不共享系统 uid就无法启动此进程。据我所知,这是不可能的。否则,请有人纠正我!

于 2011-03-21T13:36:27.130 回答