AndroidTV and OPEN_DOCUMENT_TREE Intent

794 views Asked by At

How do I find out if the ACTION_OPEN_DOCUMENT_TREE intent is supported on Android TV?

Targeting API 32 and using the StorageVolume createOpenDocumentTreeIntent call. I can create the intent, but when I attempt to launch it, I get:

"You don't have an app that can do this message".

My app can do that on Android Phones and Tablets, just not AndroidTV. My storage related permissions are:

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />

For Android TV support, I have added:

  <uses-feature android:name="android.software.leanback"
                android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen"
        android:required="false" />

And my TV Activity is declared as:

    <activity
        android:exported="true"
        android:name="com.connectedway.connectedsmb.TvActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.Leanback">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
      </intent-filter>
    </activity>

The app comes up on Android TV fine, but when I try to bring up a picker, it fails with the "You don't have an app..." message. I'm thinking there isn't support for this on AndroidTV, but it could be something else.

1

There are 1 answers

0
Rich On

It looks like Storage Access Framework is not included in Android TV:

https://issuetracker.google.com/issues/202985150

I guess Android TV, is not quite Android.