2

Currently I have an application that makes a Skype call using Intents. However this assumes that the user is currently logged into his Skype account.

I want to avoid this and instead programmatically enter the user's credentials in the Skype app so that it does not show the login screen.

Right now I have to manually go to the Skype app enter the credentials for the calling to work.

Is there anyway I can do this through code? Is there any API available?

My current implementation is just about making the Intent as follows

Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED");
    sky.setClassName("com.skype.raider",
            "com.skype.raider.Main");
    sky.setData(Uri.parse("tel:" + number));
    ctx.startActivity(sky);
Parth Doshi
  • 4,200
  • 15
  • 79
  • 129
  • 1
    Chances are they will not allow you to do this as this is kind of a fishing behavior/spoofing. – JoxTraex Feb 12 '16 at 02:37
  • @JoxTraex: ok then is there a way to pass the credentials using the Intent ? In this questions [http://stackoverflow.com/questions/6414494/launch-skype-from-an-app-programmatically-pass-number-android] one of the answers mention Intent by passing username – Parth Doshi Feb 12 '16 at 02:45
  • Think the username denotes the user the call is gonna be made to.! not the credentials. – Dhinakaran Thennarasu Feb 12 '16 at 04:00
  • So that means there is no solution for this issue? Right? Any idea of some workaround or any third party API's? – Parth Doshi Feb 12 '16 at 04:45
  • Also sending a user name and password for skype through intent is a HORRIBLE idea, because intents are transparent. – JoxTraex Feb 12 '16 at 06:43

1 Answers1

1

@Parth

Since you are using skype to make the call, thus you will be using the skype user account to login. Now, the target application should be responsible for login and user credential handling for its own accounts, rather than you asking for credentials yourself. This keeps credential handling independent of the source application, and thus paves the way for new forms of sign in (for e.g certificates, fingerprint etc.)

Also asking for credentials for an account means that you now responsible for the session as well as security liabilities for that account, atleast for that session, thereby putting the account credentials, at risk.

Conclusion: let the target app handle its own sign in process.

  • 1
    @prashuagarwal: I get your point. I have the same understanding too. However, our client requirement requires us to implement an auto login feature where by I can do the login part through code and then make the skype call through Intent. – Parth Doshi Feb 12 '16 at 05:23