我在 logcat 中看到应用程序谷歌播放服务“com.google.android.gms”得到更新。
因此,活动管理器会杀死所有使用播放服务的应用程序,即使它们在前台。
I/ActivityManager( 2076): Force stopping com.google.android.gms appid=10008 user=-1: installPackageLI
I/ActivityManager( 2076): Killing 4051:com.google.android.youtube/u0a68 (adj 902): stop com.google.android.gms
I/ActivityManager( 2076): Killing 2883:com.google.android.gms.persistent/u0a8 (adj 100): stop com.google.android.gms
W/ActivityManager( 2076): Scheduling restart of crashed service com.google.android.gms/.common.stats.GmsCoreStatsService in 1000ms
W/ActivityManager( 2076): Scheduling restart of crashed service com.google.android.gms/.backup.BackupTransportService in 10993ms
...
I/ActivityManager( 2076): Killing 9409:com.android.vending/u0a26 (adj 200): stop com.google.android.gms
D/ConnectivityService( 2076): ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@a87ac95)
W/PackageManager( 2076): Trying to update system app code path from …Run Code Online (Sandbox Code Playgroud) 我需要从 U 盘导入/导出一些数据。有没有办法获取挂载的USB设备的路径?
我的代码看起来像这样:
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while(deviceIterator.hasNext()){
UsbDevice device = deviceIterator.next();
UsbInterface deviceInterface = device.getInterface(0);
if(deviceInterface != null && deviceInterface.getInterfaceClass() == UsbConstants.USB_CLASS_MASS_STORAGE){
// check if path "mnt/usb_storage/*" exist
}
}
Run Code Online (Sandbox Code Playgroud)
当设备是大容量存储时,我可以搜索路径“mnt/usb_storage/*”是否存在。如果仅连接一个 USB 大容量存储,或者当连接第二个 USB 大容量存储时应用程序位于前台,则此功能可以正常工作。如果您想知道,是的,有些 Android 设备具有多个 USB 端口。
当我有UsbManager/UsbDevice/UsbInterface时,没有办法获取路径吗?所有设备上的路径都是“mnt/usb_storage/*”吗?
更新1:
目标 Android 版本 5.1 要求:“文件选择器”必须集成在应用程序内,必须应用文件夹、文件名和文件类型的过滤器。
更新2:
根据@greenapps的建议,我尝试了“ACTION_OPEN_DOCUMENT_TREE”:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.putExtra("android.content.extra.SHOW_ADVANCED", true);
intent.putExtra("android.content.extra.FANCY", true);
intent.putExtra("android.content.extra.SHOW_FILESIZE", true);
startActivityForResult(intent, OPEN_DOCUMENT_TREE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
相同设备:es-datei explorer能够显示USB设备。
我的要求是显示一个自定义文件选择器,用户可以从客户特定的云、内部存储或 USB …