Receiver Remote
Receiver Remote

Use Remote Access Software For A Multitude Of Daily Tasks
The benefits of using remote desktop and remote access software are basically endless and enable users to perform a multitude of tasks much more easily and rapidly. For example, you can use any computer located anywhere in the world as if you were standing right there in front of it, or you can use remote access software to provide remote support to your customers. One of the most important features of remote access software is remote desktop. With the remote desktop feature you will see the actual desktop of the target computer. If you have two or more monitors, you can dedicate one of them to the target computer. There are basically no downsides to using remote access software, the only inconvenient being that it uses internet bandwidth, so if you are transferring large files do not expect to be able to also download from other sources with the same speeds you are used to. Remote support is also one of the main uses for remote access software, with more and more remote support providers making the switch to using remote desktop and remote access software as their main solution for providing their customers with remote support services. Traditionally, remote support companies used to offer their services through phone calls, but this method has some serious limitations as it relies completely on the technical abilities of customers. Remote access software removes all these limitations and cuts the time reserved for each customers tremendously. Computer users interested in receiving remote support from professional technical assistance companies only have to make a one-time installation of remote access software. Installing a remote desktop or remote access software application on a customer's computer takes no longer than a couple of minutes and it is no harder to perform than any other software installation. From then on, remote support professionals can connect with their customers' computers within a few moments, create a remote desktop and solve any technical issues. Since many computer users are not happy to have someone going through their private or sensitive files and might be worried about that, the largest software manufacturers have included a special feature with their remote desktop and remote access software solutions. More precisely, the clients are able to watch, in real time, all the actions undertaken by the remote support specialists. If you are not on any end of the above presented example, you can still get great benefits from using remote access software. Let's say for example that you are at home and would like to get a little more work done as deadlines approach. You can gain access to the files and documents stored on your work computer in just one minute. The only things you need to do is install the remote access software application on both the host computer and the target computer, set up a few variables and you are all set. At this point, you can connect to the other computer almost instantly at absolutely any time you want.
About the Author
For more resources about
remote access software
or about
remote desktop
or even about
remote support
, please review these pages.
Sony STR-DG510 Receiver Remote Control Code?
I am trying to find out what the remote control code for my Sony STR-DG510 receiver is. Anyone know the code or know where to get it?
If your having trouble programming the receiver onto another remote, I am having the same problem. There's alot on remotecentral.com about it saying that the mode has to be changed from AV2 to AV1. I am going to try it later when I get home.
1. Power Off
2. Press and hold 'Input Mode'
3. Power On whike still holding 'Input Mode'.
I think that's the preocedure for STR-DG500, let's hope it's the same for 510.
Receiver Remote
RKE (remote keyless entry) Receiver Location
|
|
Media Center Remote USB Receiver $38.99 Media Center Remote USB Receiver |
|
|
Draper Infrared Remote Transmitter and Receiver - IR Transmitter/Receiver $65.63 INFRARED REMOTE TRANSMITTER RECEIVER IRT/R |
|
|
WIRELESS REMOTE;RF w/RECEIVER $215.99 WIRELESS REMOTERF w/RECEIVER |
|
|
Deluxe IR receiver and remote $70.99 Multimedia Station Premier Deluxe IR receiver and remote...IR receiver with LCD display to see system information, adjust the volume, check email status, and more; IR receiver mounts in external 5.25" drive bay; Sleek remote with incredible functionality, allowing user to play and manage media, change settings, and browse via the easy-to-use Thumb Pad Mouse controller; IMEDIAN software allows the playback of most media formats through internal codecs, full 1080p HD support, and a simple and convenient graphical interface; Support for CD/DVD, removable storage, network media, and digital/TV analog cards; Fully compatible with all versions of Windows XP and Vista. |
|
|
NEC Wireless Remote Control Receiver - IR Receiver $40.75 IR RECEIVER USB FOR NP40 NP50 NP60 REMOTES |
|
|
External IR receiver & remote $21.99 Multimedia Station E-Z External IR receiver and remote...Petite and useful remote allows user to control, play and manage all media, browse data, and change settings; IR receiver connects to PC through a USB port, no internal PC installation required; iMEDIAN software allows the playback of most media formats through internal codecs, full 1080p HD support, and a simple and convenient graphical interface; Support for CD/DVD, removable storage, network media, and digital/TV analog cards; Fully compatible with all versions of Windows XP and Vista. |
|
|
Balun PERITEL remote receiver - video/audio extender $79.99 Black Box Balun PERITEL remote receiver - Video/audio extender - external |
|
|
DLA2RKT – RF Remote & Receiver Kit $99 Compatible with ATON DLA2 Speaker Level Audio Router. The DLA2RKT RF Remote & Receiver Kit will function with up to 6 additional DLA2RM RF remotes. |
|
|
Draper Infrared Remote Transmitter and Receiver $66.99 10 ft 121065 Infrared Remote Transmitter and Receiver 2 x AAA Batteries Its range with fresh batteries is approx. 50 feet 1-channel transmitter operates on two AAA batteries The receiver with a data cable plugs into a standard RJ-11 plug on the LVC-III or MC1 Infrared transmitter and receiver. 3-button operation for instant access to "up", "down", and "stop" functions. Fully compatible with "learnable" IR master control systems. Receiver plugs into the Draper low-voltage control unit. Draper Draper, Inc IR Transmitter/Receiver Infrared Remote Transmitter and Receiver www.draperinc.com |
|
|
Digital Satellite Receiver Remote control for openbox s9 $35.36 Digital Satellite Receiver Remote Controller 100% new high quality remote for s9 |
|
|
Digital Satellite Receiver Remote control for openbox s10 $35.36 Digital Satellite Receiver Remote Controller 100% new high quality remote for s10 |
|
|
Infrared Remote Transmitter/Receiver IRT/R - projector screen remote control $63.99 Draper Infrared Remote Transmitter/Receiver IRT/R - Projector screen remote control - infrared |
|
|
Sharp USB Remote Receiver - IR Receiver $67.12 USB INFRARED REMOTE RCVR EXT XR20/XR10/PGA20X/PGMB60/PGB10 PROJ |
|
|
Serene Innovations CARX Remote Receiver $65.99 "Serene Innovations Remote Receiver CA-RX Brand New Includes One Year Warranty, The Serene Innovations CARX Portable Remote Receiver keeps you informed when you are away from the CA-360. It alerts you to all the same sounds and activities that are being monitored by the CA360. This way you will never miss anything anywhere in your home. This remote receiver has adjustable loud audio sound and bright flasher to alert you. Big and easy ""Recall"" button to check and review the last activated alert also the output jack for bed shaker that alert you at night. CARX Features: Remote Receiver, Lightweight & Portable, Adjustable Loud Audio Sound, Recall Button -To Review Last Activated Alert, Lightweight, Bright Flasher, Big & Easy To See Alerting Icons, Output Jack - For Bed Shaker" |
|
|
PEGA Remote Controller with Receiver for PS3 DVD (Black) $9.9 It is composed of receiver and remote controller plug the reveiver of the controller to the USB port of PS3 to control PS3 console. |
|
|
PEGA Remote Controller with Receiver for PS3 DVD (White) $8.3 It is composed of receiver and remote controller plug the reveiver of the controller to the USB port of PS3 to control PS3 console. |
|
|
IR Remote Mini Target/Receiver $80.99 CHANNEL PLUS 2130A 12V IR REMOTE TARGET |
|
|
NEC Wireless Remote Control Receiver $46.99 1 x 4-pin USB Type A 1 x Infrared Supported Projector: NEC LT25 NEC LT30 NEC LT35 NEC NP40 NEC NP50 NEC NP60 NEC VT49 NEC VT490 NEC VT59 NEC VT590 NEC VT595 NEC VT695 Form Factor: External IR Receiver NEC NP01MR Nec Corporation Wireless Remote Control Receiver www.necus.com |
Development and remote installation of Java service for the Android Devices
Written by:
Igor Darkov, Software Developer of Device Team, Apriorit Inc.
In this article I’ve described:
- How to develop simple Java service for the Android Devices;
- How to communicate with a service from the other processes and a remote PC;
- How to install and start the service remotely from the PC.
1. Java Service Development for the Android Devices
Services are long running background processes provided by Android. They could be used for background tasks execution. Tasks can be different: background calculations, backup procedures, internet communications, etc. Services can be started on the system requests and they can communicate with other processes using the Android IPC channels technology. The Android system can control the service lifecycle depending on the client requests, memory and CPU usage. Note that the service has lower priority than any process which is visible for the user.
Let’s develop the simple example service. It will show scheduled and requested notifications to user. Service should be managed using the service request, communicated from the simple Android Activity and from the PC.
First we need to install and prepare environment:
- Download and install latest Android SDK from the official web site (http://developer.android.com);
- Download and install Eclipse IDE (http://www.eclipse.org/downloads/);
- Also we’ll need to install Android Development Tools (ADT) plug-in for Eclipse.
After the environment is prepared we can create Eclipse Android project. It will include sources, resources, generated files and the Android manifest.
1.1 Service class development
First of all we need to implement service class. It should be inherited from the android.app.Service (http://developer.android.com/reference/android/app/Service.html) base class. Each service class must have the corresponding <service> declaration in its package's manifest. Manifest declaration will be described later. Services, like the other application objects, run in the main thread of their hosting process. If you need to do some intensive work, you should do it in another thread.
In the service class we should implement abstract method onBind. Also we override some other methods:
- onCreate(). It is called by the system when the service is created at the first time. Usually this method is used to initialize service resources. In our case the binder, task and timer objects are created. Also notification is send to the user and to the system log:
public void onCreate() { super.onCreate(); Log.d(LOG_TAG, "Creating service"); showNotification("Creating NotifyService"); binder = new NotifyServiceBinder(handler, notificator); task = new NotifyTask(handler, notificator); timer = new Timer(); }
- onStart(Intent intent, int startId). It is called by the system every time a client explicitly starts the service by calling startService(Intent), providing the arguments it requires and the unique integer token representing the start request. We can launch background threads, schedule tasks and perform other startup operations.
public void onStart(Intent intent, int startId) { super.onStart(intent, startId); Log.d(LOG_TAG, "Starting service"); showNotification("Starting NotifyService"); timer.scheduleAtFixedRate(task, Calendar.getInstance().getTime(), 30000); }
- onDestroy(). It is called by the system to notify a Service that it is no longer used and is being removed. Here we should perform all operations before service is stopped. In our case we will stop all scheduled timer tasks.
public void onDestroy() { super.onDestroy(); Log.d(LOG_TAG, "Stopping service"); showNotification("Stopping NotifyService"); timer.cancel(); }
- onBind(Intent intent). It will return the communication channel to the service. IBinder is the special base interface for a remotable object, the core part of a lightweight remote procedure call mechanism. This mechanism is designed for the high performance of in-process and cross-process calls. This interface describes the abstract protocol for interacting with a remotable object. The IBinder implementation will be described below.
public IBinder onBind(Intent intent) { Log.d(LOG_TAG, "Binding service"); return binder; }
To send system log output we can use static methods of the android.util.Log class (http://developer.android.com/reference/android/util/Log.html). To browse system logs on PC you can use ADB utility command: adb logcat.
The notification feature is implemented in our service as the special runnable object. It could be used from the other threads and processes. The service class has method showNotification, which can display message to user using the Toast.makeText call. The runnable object also uses it:
public class NotificationRunnable implements Runnable { private String message = null; public void run() { if (null != message) { showNotification(message); } } public void setMessage(String message) { this.message = message; } }
Code will be executed in the service thread. To execute runnable method we can use the special object android.os.Handler. There are two main uses for the Handler: to schedule messages and runnables to be executed as some point in the future; and to place an action to be performed on a different thread than your own. Each Handler instance is associated with a single thread and that thread's message queue. To show notification we should set message and call post() method of the Handler’s object.
1.2 IPC Service
Each application runs in its own process. Sometimes you need to pass objects between processes and call some service methods. These operations can be performed using IPC. On the Android platform, one process can not normally access the memory of another process. So they have to decompose their objects into primitives that can be understood by the operating system , and "marshall" the object across that boundary for developer.
The AIDL IPC mechanism is used in Android devices. It is interface-based, similar to COM or Corba, but is lighter . It uses a proxy class to pass values between the client and the implementation.
AIDL (Android Interface Definition Language) is an IDL language used to generate code that enables two processes on an Android-powered device to communicate using IPC. If you have the code in one process (for example, in Activity) that needs to call methods of the object in another process (for example, Service), you can use AIDL to generate code to marshall the parameters.
Service interface example showed below supports only one sendNotification call:
interface INotifyService { void sendNotification(String message); }
The IBinder interface for a remotable object is used by clients to perform IPC. Client can communicate with the service by calling Context’s bindService(). The IBinder implementation could be retrieved from the onBind method. The INotifyService interface implementation is based on the android.os.Binder class (http://developer.android.com/reference/android/os/Binder.html):
public class NotifyServiceBinder extends Binder implements INotifyService { private Handler handler = null; private NotificationRunnable notificator = null; public NotifyServiceBinder(Handler handler, NotificationRunnable notificator) { this.handler = handler; this.notificator = notificator; } public void sendNotification(String message) { if (null != notificator) { notificator.setMessage(message); handler.post(notificator); } } public IBinder asBinder() { return this; } }
As it was described above, the notifications could be send using the Handler object’s post() method call. The NotificaionRunnable object is passed as the method’s parameter.
On the client side we can request IBinder object and work with it as with the INotifyService interface. To connect to the service the android.content.ServiceConnection interface implementation can be used. Two methods should be defined: onServiceConnected, onServiceDisconnected:
ServiceConnection conn = null; … conn = new ServiceConnection() { public void onServiceConnected(ComponentName name, IBinder service) { Log.d("NotifyTest", "onServiceConnected"); INotifyService s = (INotifyService) service; try { s.sendNotification("Hello"); } catch (RemoteException ex) { Log.d("NotifyTest", "Cannot send notification", ex); } } public void onServiceDisconnected(ComponentName name) { } };
The bindService method can be called from the client Activity context to connect to the service:
Context.bindService(new Intent(this, NotifyService.class), conn, Context.BIND_AUTO_CREATE);
The unbindService method can be called from the client Activity context to disconnect from the service:
Context.unbindService(conn);
1.3 Remote service control
Broadcasts are the way applications and system components can communicate. Also we can use broadcasts to control service from the PC. The messages are sent as Intents, and the system handles dispatching them, including starting receivers.
Intents can be broadcasted to BroadcastReceivers, allowing messaging between applications. By registering a BroadcastReceiver in application’s AndroidManifest.xml (using <receiver> tag) you can have your application’s receiver class started and called whenever someone sends you a broadcast. Activity Manager uses the IntentFilters, applications register to figure out which program should be used for a given broadcast.
Let’s develop the receiver that will start and stop notify service on request. The base class android.content.BroadcastReceiver should be used for these purposes (http://developer.android.com/reference/android/content/BroadcastReceiver.html):
public class ServiceBroadcastReceiver extends BroadcastReceiver { … private static String START_ACTION = "NotifyServiceStart"; private static String STOP_ACTION = "NotifyServiceStop"; … public void onReceive(Context context, Intent intent) { … String action = intent.getAction(); if (START_ACTION.equalsIgnoreCase(action)) { context.startService(new Intent(context, NotifyService.class)); } else if (STOP_ACTION.equalsIgnoreCase(action)) { context.stopService(new Intent(context, NotifyService.class)); } } }
To send broadcast from the client application we use the Context.sendBroadcast call. I will describe how to use receiver and send broadcasts from the PC in chapter 2.
1.4 Android Manifest
Every application must have an AndroidManifest.xml file in its root directory. The manifest contains essential information about the application to the Android system, the system must have this information before it can run any of the application's code. The core components of an application (its activities, services, and broadcast receivers) are activated by intents. An intent is a bundle of information (an Intent object) describing a desired action — including the data to be acted upon, the category of component that should perform the action, and other pertinent instructions. Android locates an appropriate component to respond to the intent, starts the new instance of the component if one is needed, and passes it to the Intent object.
We should describe 2 components for our service:
- NotifyService class is described in the <service> tag. It will not start on intent. So the intent filtering is not needed.
- ServiceBroadcastReceived class is described in the <receiver> tag. For the broadcast receiver the intent filter is used to select system events:
<application android:icon="@drawable/icon" android:label="@string/app_name"> … <service android:enabled="true" android:name=".NotifyService" android:exported="true"> </service> <receiver android:name="ServiceBroadcastReceiver"> <intent-filter> <action android:name="NotifyServiceStart"></action> <action android:name="NotifyServiceStop"></action> </intent-filter> </receiver> …
2. Java service remote installation and start
2.1 Service installation
Services like the other applications for the Android platform can be installed from the special package with the .apk extension. Android package contains all required binary files and the manifest.
Before installing the service from the PC we should enable the USB Debugging option in the device Settings-Applications-Development menu and then connect device to PC via the USB.
On the PC side we will use the ADB utility which is available in the Android SDK tools directory. The ADB utility supports several optional command-line arguments that provide powerful features, such as copying files to and from the device. The shell command-line argument lets you connect to the phone itself and issue rudimentary shell commands.
We will use several commands:
- Remote shell command execution: adb shell <command> <arguments>
- File send operation: adb push <local path> <remote path>
- Package installation operation: adb install <package>.apk
I’ll describe the package installation process in details. It consists of several steps which are performed by the ADB utility install command:
- First of all the .apk package file should be copied to the device. The ADB utility connects to the device and has limited “shell” user privileges. So almost all file system directories are write-protected for it. The /data/local/tmp directory is used as the temporary storage for package files. To copy package to the device use the command:
adb push NotifyService.apk /data/local/tmp
- Package installation. ADB utility uses special shell command to perform this operation. The “pm” (Package Manager?) utility is present on the Android devices. It supports several command line parameters which are described in the Appendix I. To install the package by yourself execute the remote shell command:
adb shell pm install /data/local/tmp/NotifyService.apk
- Cleanup. After the package is installed, ADB removes the temporary file stored in /data/local/tmp folder using the “rm” utility:
adb shell rm /data/local/tmp/NotifyService.apk.
- To uninstall package use the “pm” utility:
adb shell pm uninstall <package>
2.2 Remote service control
To be able to start and stop the NotifyService from the PC we can use the “am” (Activity Manager?) utility which is present on the Android device. The command line parameters are described in the Appendix II. The “am” utility can send system broadcast intents. Our service has the broadcast receiver which will be launched by the system request.
To start NotifyService we can execute remote shell command:
adb shell am broadcast –a NotifyServiceStart
To stop the NotifyService we can execute remote shell command:
adb shell am broadcast –a NotifyServiceStop
Note, that the NotifyServiceStart and NotifyServiceStop intents were described in the manifest file inside the <receiver> … <intent-filter> tag. Other requests will not start the receiver.
Appendix I. PM Usage (from Android console)
pm [list|path|install|uninstall] pm list packages [-f] pm list permission-groups pm list permissions [-g] [-f] [-d] [-u] [GROUP] pm path PACKAGE pm install [-l] [-r] PATH pm uninstall [-k] PACKAGE The list packages command prints all packages. Use the -f option to see their associated file. The list permission-groups command prints all known permission groups. The list permissions command prints all known permissions, optionally only those in GROUP. Use the -g option to organize by group. Use the -f option to print all information. Use the -s option for a short summary. Use the -d option to only list dangerous permissions. Use the -u option to list only the permissions users will see. The path command prints the path to the .apk of a package. The install command installs a package to the system. Use the -l option to install the package with FORWARD_LOCK. Use the -r option to reinstall an exisiting app, keeping its data. The uninstall command removes a package from the system. Use the -k option to keep the data and cache directories around after the package removal.
Appendix II. AM Usage (from Android console)
am [start|broadcast|instrument] am start -D INTENT am broadcast INTENT am instrument [-r] [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>] [-w] <COMPONENT> INTENT is described with: [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] [-n <COMPONENT>] [-f <FLAGS>] [<URI>]
Resources used:
- Android Installation Guide.
http://developer.android.com/sdk/1.5_r2/installing.html
- Android Developer reference.
http://developer.android.com/reference/classes.html
- Jesse Burns. Developing Secure Mobile Applications for Android.
https://www.isecpartners.com/files/iSEC_Securing_Android_Apps.pdf
- Designing a Remote Interface Using AIDL
http://developer.android.com/guide/developing/tools/aidl.html
About the Author
Apriorit is an Ukrainian software development company.
Apriorit develops its own products as well as provide offshore development and QA services in the areas of advanced system programming, driver development, software for devices.
One of the key values of Apriorit's specialists is knowledge generation and sharing of experience.
Learn more about Apriorit and its experience at Apriorit Official site
Receiver Remote