Dashboard - Open an Android app via a Dashboard button

If the author didn't create it you can look all you want, never to find it.

That's why nougat had a way to look it up. It was a list in app settings that would list all of the uri's for all of your installed apps. LMAO

So, if it was available before, I assume it would be available now. And I know it's available for the apps I'm trying to use because it will launch from other apps, which is how that works.

The supported links associations are related, but slightly different than the custom app URI Scheme.

Custom Scheme
App developers can register a custom scheme within their app which is a common feature in Android and iOS:

sonos://

Domain Association
Starting with Android 6+, developers can also register an association with a domain, but they must also verify ownership of the domain:

https://mycoolapp.com/

Intents
In Android, both of these functionalities build on top of a concept called Intents which are a fundamental building block in navigating and running apps. Fully Kiosk Browser has a special way of handling these intents, but it's based on the Chrome Android Intents spec.

The difference between Chrome and Fully Kiosk Browser is that Chrome requires the app to specifically have registered a scheme. Whereas Fully Kiosk Browser parses the intent and then just tries to use it like a normal intent.

Okay...none of this is helpful at all. How do you find the custom scheme for an app? The option that I linked to is not available in Android Pie.

If you want to know if an app has a custom URL scheme registered, ask the app developer. :stuck_out_tongue:

You can also try to read the app's manifest as that's where custom schemes are defined. It's not something that's exposed via normal user facing features in Android as it's typically more of a developer tool.

For example, you would look through the manifest looking at each activity to find an one with an intent-filter that has a data element with a custom android:scheme property.

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_view_http_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- note that the leading "/" is required for pathPrefix-->
    </intent-filter>
    <intent-filter android:label="@string/filter_view_example_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "example://gizmos” -->
        <data android:scheme="example"
              android:host="gizmos" />
    </intent-filter>
</activity>

Okay....so, as a practical matter then, no, this cannot be done then. Thanks.

Dunno there may be something useful here.

https://tasker.joaoapps.com/userguide/en/intents.html

You can't use app intents from Chrome though, correct @josh?

My thought. And forgive me I have not followed the whole thread.

Tasker on the device in question to trigger your app via intent. Then setup http endpoint in tasker you could then trigger from chrome?

Like he said you can, if the app developer has registered the intend.

This worked for me...

nestmobile://

1 Like

love the KISS solution! Granted a 2 year old thread.

tested sonos:// which also works!!

1 Like

I've never been able to get it to work

In HE dashboard I was able to create a device tile with a link and link uri nestmobile:// and another tile sonos:// and the tiles open the app.

Not sure how i can create a tile that isnt a real device. When i create virtual devices they dont show up in the device list when making new tiles. I want virtual device options when making a new tile so i can name them with app names or scenes, etc.

1 Like

When you add devices to your HE hub, virtual or physically paired devices, you need to open the settings for the dashboard and add the device(s) to those available on the dashboard. To do this you need to locate the dashboard on the Apps page for HE, ick the dashboard name and the settings page will be displayed.

To adjust the tile name you could either adjust the name / label of the device or we could look at a small bit of code to do it for you.

1 Like

Got it! Thank you. Didnt realize you had to add each new device to the available dashboard devices.

The app links work in HE dashboard but not when using fullykiosk to host the HE dashboard url.

Yeah, it's a security feature mostly (I think), because you get access to both information about the device and obviously device control, so it gives the administrator of the hub control over what dashboard users can see and access.

I can only imagine FK is providing an enclosed system, shielding the rest of the tablet from what you are hosting inside

Guessing there is a way to allow FK to open URI app links, but I dont know how.

Ring://
Nestmobile://
Sonos://
All link template urls work

I need uri app links for the following but dont know if the exist.
Pentair ~ pool control
Myq ~ garage doors
Rachio~ irrigation rachio community stated rachio:// worked but then it became unsupported

Fixed the FK uri link block issue and now FK will launch the apps

In FK swipe right-> Settings-> Web Content-> "Open URL Schemes in other apps" Switch on

1 Like

The android application HomeHabit dashboard app has functionality to create a button, that looks just like the app buttons on the main screen of your phone, that can open any app on the phone.

That would be a great option for Habitat dashboard.

Integrating APIs of various apps is actually really difficult for non-programmer types like me. For example, getting Nest to work with the Google API requires becoming a Google developer on it's cloud and getting project IDs and OAuth codes and then pray that it works; then who knows if Google will support it in the future.

Having a simple way to link to other apps within Hubitat dashboard ensures you have all the functionality/look/feel/updates of the other apps and then you can go "back" to the Hubitat dashboard for all the other buttons and modes.

Thank you.