iMessage on Android Wear
This project uses an AppleScript handler to push iMessages from Mac OS X to Android using Google Cloud Messaging. It also includes a Node.js server that can send voice replies back to iMessage.
Building and Configuration
- Create a Google API project on the Google Developers Console and enable the GCM service. For more info, see the Getting Started on Android document: https://developer.android.com/google/gcm/gs.html
- Open app/src/main/java/org/c99/wear_imessage/GCMIntentService.java and enter your GCM project ID number on line 46. If you want to use the voice replies feature, set ENABLE_REPLIES on line 47 to true.
- run "./gradlew :assembleDebug" or build the app through Android Studio
- Install app/build/outputs/apk/app-debug.apk on your phone and launch the app
- Wait for the app to register for push notifications, then tap the "Copy GCM ID" button to copy your device ID to the clipboard
- Open GCM.applescript and enter your Google API key and GCM device ID on lines 2 and 3
- Copy GCM.applescript to the iMessage scripts folder (~/Library/Application Scripts/com.apple.iChat on Yosemite)
- Open iMessage's preferences and select "GCM" as the Applescript handler
NOTE: Messages will only be forwarded in the background, if you have iMessage focused then the active conversation will not be forwarded
Sending voice replies from Wear to iMessage requires running a Node.js server on your Mac.
- Install Node.js
- Start the server.js service by typing "node server.js" in a terminal inside the server folder
- Launch the app on your phone and enter your server's IP and port (the default is 1337)
- Display thumbnails of recieved images
- Notify if a voice reply fails to send
Copyright (c) 2015 Sam Steele
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.