Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Skype chat screen from intent

I am trying to make an intent that starts skype conversation with a certain person. Having looked through it all over the stackoverflow, I still cannot make it work properly. Here's my code:

String skypeUri = "skype:name?chat";
Intent intent = new Intent();
intent.setData(Uri.parse(skypeUri));
                intent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);

My intent filter:

            <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:scheme="skype" />
        </intent-filter>

It brings me to skype but only to the main page of it, no conversation is opened. Any help would be appreciated.

like image 566
Roman Samoilenko Avatar asked Oct 09 '15 15:10

Roman Samoilenko


2 Answers

just use below code

Intent skypeIntent = new Intent("android.intent.action.VIEW");
skypeIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
skypeIntent.setData(Uri.parse("skype:" + skypeId + "?chat"));
like image 52
hharry_tech Avatar answered Nov 09 '22 15:11

hharry_tech


Assuming that is your exact code, the problem is that you are not passing the username of the person you want to call. You just have 'name' where their username should be. You need something like:

String skypeUri = "skype:"+username+"?chat";
like image 1
Chris Hughes Avatar answered Nov 09 '22 17:11

Chris Hughes