I am implementing a system for touchscreens in java that needs to be able to call up skype, how can I go from a fullscreen java app to having skype open, then closing the skype window and getting back to the fullscreen app. Is this even possible?
When Skype is installed, you can use the callto:// or skype:// protocol to start skype.
The syntax is
skype:<username|phonenumber>[?[add|call|chat|sendfile|userinfo]]
http://en.wikipedia.org/wiki/URI_scheme
If it's a touchscreen system then why do you want to show the standard Skype UI? It's not a touch-compatible interface. Have you considered using the Skype API to interact with the service instead?
There's a desktop automation library already available and a service SDK in beta.
http://developer.skype.com/
I'm pretty sure you will have to implement a native library which will have to search through all windows in the system, find the Skype one and bring it to front. So it is possible, but with the help of native library -- which then you can still use in Java through JNI.
Related
I am working in a web application using ASP.net and C#.
My target is to check on a desktop application on the client machine .. If it was exist then I should launch it. Else if it wasn't exist, we should download, install and then launch it.
I could develop this module using Java Applet but unfortunately, Google decided to disable NPAPI in September 2015, So the applet will not working on Chrome.
My question is about the Applet alternatives to help me implementing the above scenario ?
The only (semi) viable option as far as I can see, is to offer the Chrome user a link to a JNLP file for a desktop application. Then when/if the JWS desktop application starts, have it report back to the server 'loaded OK' and then 'target app. installed/not installed'.
On your server, have a time out for waiting on the client to report back. If it passes that time, presume the client machine does not support Java at all and the user is checking some web service to try and figure out what app. opens a JNLP!
After searching about the most suitable way to achieve my goal, I think using custom protocols will be a nice solution to access my client applications from the web page.
This solution is used by many companies such as Microsoft (using mailto: to open Outlook application) and Apple (using itms: to open iTunes application).
The following link is a very good link which talk about a custom protocols:
https://support.shotgunsoftware.com/entries/86754-How-to-launch-external-applications-using-custom-protocols-rock-instead-of-http-
Once Google Chrome was the first to announce that they won’t be supporting NPAPI anymore, they were also the first to provide a new architecture in order to rewrite your code to work on their browser. You can take a look on Native Messaging, which “can exchange messages with native applications using an API that is similar to the other message passing APIs”. The problem is that this approach only works on Chrome, is not something that you can adapt to other browsers.
A more useful approach is FireBreath, a browser plugin in a post NPAPI world. Check the words below from one buddy of the project:
“FireBreath 2 will allow you to write a plugin that works in NPAPI, ActiveX, or through Native Messaging; it’s getting close to ready to go into beta. It doesn’t have any kind of real drawing support, but would work for what you describe. The install process is a bit of a pain, but it works. The FireWyrm protocol that the native messaging component uses could be used with any connection that allows passing text data; it should be possible to make it work with js-ctypes on firefox or plausibly WEB-RTC or even CORS AJAX in some way. For now the only thing we needed to solve was Chrome, but we did it in a way that should be pretty portable to other technologies.”
I am trying to port an Android application to BlackBerry 10 and make it look naitive. I have written all the QML for the app but I cannot seem to get the code to work. Do I need to translate the Java into C++ and if I do, do I have to do it manually or would an automatic one do?
Also my application has many different classes which I am not sure how to integrate with the BlackBerry layout.
I am trying to port the open source messenger Telegram, if that's any use. http://telegram.org/source/
Assuming you want to do a proper port and know C++ and Java, a full rewrite would be best. You can probably copy a lot of code from the Java source, but there's no way an automated converter or direct copy would ever work in C++.
Most of the processes in BlackBerry are the same as in Android, all you'd really need to do is rewrite all the UI code and handlers to fit the BlackBerry Native SDK
I'm trying to figure out if it's possible to access a Midi device (like a piano/keyboard or electronic drum set) that is plugged into to a clients USB port over the web.
Obviously the browser security model makes this impossible using just javascript and while it looks like the emerging html5 device standard might help in the future it's apparently not there yet.
So what about flash, silverlight or java? The closest I've found is that silverlight seems to be able to do it if the app is trusted, but that's not a very easy thing to convince a user to do.
Any options?
Yes, this is possible, at least in Windows and MacOS.
I'm not sure how to post a link here, but you can google for "Jazz-Plugin"
The only practical way (that I know of) to achieve this using Silverlight, is platform invocation. This requires Silverlight 5 and the app to run in full trust mode, which makes sense because the app can do pretty much anything with P/Invoke. If a web app allows the developers to access information on a client's computer, then there will have to be some warning or user sign-off (like Silverlight's full trust).
I want to add VoIP functionality to my application, without developing required VoIP/SIP libraries myself. Is it possible to "link" Skype to my application? Maybe via a button, which starts Skype?
Otherwise, are there any open source code projects for Android VoIP/SIP available (such as SipDroid?)
There is a VOIP open source project and it uses google voice as well, and there may be others, if you want to launch skype you will need to use an intent, maybe answered here as well Skype Intent and you may be able to google android skype and intent if none of that works
I'm writing an SWT application which needs to sit in the system tray and pop up automatically whenever the user connects some USB device (the application serves as its control panel).
The way to do this in the native environment (win32 in this case, but I should be platform-independent ultimately) is to listen to the WM_DEVICECHANGE event, then checking if my device has been disconnected.
Googling the subject, it seems like SWT does not in fact handle this type of event. Does anyone have any idea as to how to achieve this? My fallback solution would be sampling the USB port every n seconds, looking for the device, but this is a no-no solution as far as I'm concerned...
Thanks and cheers
Shai
EDIT: J-16 SDiZ reported that the API exists for Windows too
Here is a very good article about Access USB devices from Java applications
The described jUSB module contains a USBListener object.
Interface implemented by objects that want to monitor USB structure. The order in which these changes are reported is not necessarily going to be the order in which the changes were seen in the real world, and delays also occur.
Youre SWt object can implement this listener and do something, when the method
deviceAdded(Device dev)
is fired
Java does not provide direct interaction with the devices and with USB. There are several third-party libraries for Java that provide USB-related features (read/write from USB port). For example: http://www.icaste.com/ (commercial)
Your comment for Zorglub suggests that you have some (presumably) JNI/JNA code to call the 3rd party DLL you mentioned. I assume you could also write a JNI wrapper to the Windows API where you can register to be notified for the _WM_DEVICECHANGE_ event you mentioned.
There is a jUSB port for windows at http://www.steelbrothers.ch/jusb/