小编eug*_*man的帖子

由于服务应用程序更新,我的应用程序被杀死

我在 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)

lifecycle android updates android-activity

7
推荐指数
1
解决办法
2059
查看次数

如何在Android中获取外部USB大容量存储路径?

我需要从 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)

这不显示 USB 记忆棒,我也无法过滤文件和文件夹。 选择文档树

相同设备:es-datei explorer能够显示USB设备。

ES达泰探险家

我的要求是显示一个自定义文件选择器,用户可以从客户特定的云、内部存储或 USB …

android usb-mass-storage

4
推荐指数
1
解决办法
1万
查看次数