[Samsung Galaxy Gear] Orbonis:
​

This is an app built specifically for developers that want to create applications for the Gear, but have no where to start. With the Gear SDK being unavailable to the general public we will have to make do with what we have!

This app will install on the phone or tablet connected to the Gear and other apps can interface with it to send data between the devices quickly and easily.

Special thanks to [MENTION=1894175]sdemills[/MENTION] for all the help testing the initial development.

As marked in the thread, this is early alpha. Expect changes and breakages as it has had very limited testing so far.

Features

Broadcast an intent from the Gear or host and pick it up on the opposing device.

Start an activity on the Gear or host by sending information from the opposing device.

Installation

You will need to allow "Unknown Sources" in the Gear Manager.

Then just install the app on your phone/tablet. (You only need to install the apk file. The jar file is for developers to work with.)

It may take a few seconds to establish the initial connection, please be patient :)

Non-Samsung Devices

Gear Connect will not work with Non-Samsung devices (devices without Gear Manager). Follow these steps to install Gear Manager on your device. This may allow you to use Gear Connect. There is no official support for this.

The notification app mentioned in the tutorial is no longer available. This is a good alternative.

Thanks to [MENTION=3238313]technologicrepair[/MENTION] and [MENTION=352841]Brendo[/MENTION] for their help in researching this.

​

Developer Usage

Library:

Attached to post

Dropbox

Usage:

[COLOR="Green"]//Broadcast an intent on the opposing device.[/COLOR]
GearConnect.transferIntent(getBaseContext(), myBroadcastIntent);

[COLOR="Green"]//Start an activity on the opposing device.[/COLOR]
GearConnect.transferIntent(getBaseContext(), myActivityIntent, true);

[COLOR="Green"]//Check that Gear Connect is installed.[/COLOR]
GearConnect.isGearConnectInstalled(getBaseContext());

Connection Status:

[COLOR="Green"]//Must be run once after your app has started.[/COLOR]
GearConnect.registerForStatus(getBaseContext(), new OnConnectionChange() { ... });

[COLOR="Green"]//Must be run once after your app has stopped.[/COLOR]
GearConnect.unregisterForStatus(getBaseContext());

[COLOR="Green"]//Can be used to request the connection status manually after registerForStatus. Not required.[/COLOR]
GearConnect.requestConnectionStatus(getBaseContext());

[COLOR="Green"]//Returns a Boolean.[/COLOR]
GearConnect.isConnected();

Single APK installed on the host:

These are the steps to have a single APK instead of sideloading your app onto the Gear:

Create a simple Android application for the Gear. There are no special requirements for this step (Known as the Consumer app).

Create another app to be installed on the host (Known as the Provider app).

In the provider app drop these libraries into the "libs" folder.

Again, in the provider app, include the following in the AndroidManifest.xml (See below).

Build the consumer app and drop the resulting apk into the providers "assets" folder.

Build the provider app and install on the host as normal.

This will install the consumer app on the Gear, but only if the user has enabled "Unknown Sources" in the Gear Manager.

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="com.samsung.accessory.permission.ACCESSORY_FRAMEWORK" />
<uses-permission android:name="com.samsung.wmanager.APP" />
<uses-permission android:name="com.samsung.wmanager.ENABLE_NOTIFICATION" />

<application > ...

<receiver android:name="com.samsung.android.sdk.accessory.RegisterUponInstallReceiver" >
<intent-filter>
<action android:name="android.accessory.device.action.REGISTER_AFTER_INSTALL" />
</intent-filter>
</receiver>

</application>

Disclaimer: I do not own the libs in this tutorial. They are the property of Samsung and part of the Samsung Mobile SDK found here.

​

Download

Attached to post.

Dropbox