0

I need to open the Skype chat screen with my skype ID from my App. I saw some similar Questions

Open chat screen Skype from other app

http://developer.skype.com/skype-uris/skype-uri-tutorial-android

The above tutorial explains how to open the App.But i can't find out how to pass my Skype ID and start a chat screen.

Is there a way to do it or not ? If there is a way how to do it ?

EDIT

I followed the below solution.It just Opens the skype App but it is not loading the chat screen.Can you tell me where i did the Mistake ?

   public class About extends MainActivity implements android.view.View.OnClickListener
        {
            Button fb;
            static String TAG = "remote it";
    String mySkypeUri = "skype:aruzev?chat";

            @Override
            protected void onCreate(Bundle savedInstanceState)
            {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View contentView = inflater.inflate(R.layout.about, null, false);
                mDrawer.addView(contentView, 0);
                fb = (Button) contentView.findViewById(R.id.fb);
                fb.setOnClickListener(this);
            }



            public void onClick(View v)
            { // TODO Auto-generated method stub
                if (v.getId() == R.id.fb)
                {
              initiateSkypeUri(getApplicationContext(), mySkypeUri));
                }
            }
    public void initiateSkypeUri(Context myContext, String mySkypeUri)
        {

            // Make sure the Skype for Android client is installed
            if (!isSkypeClientInstalled(myContext))
            {
                goToMarket(myContext);
                return;
            }

            // Create the Intent from our Skype URI
            Uri skypeUri = Uri.parse(mySkypeUri);
            Intent myIntent = new Intent(Intent.ACTION_VIEW, skypeUri);

            // Restrict the Intent to being handled by the Skype for Android client
            // only
            myIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
            myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            // Initiate the Intent. It should never fail since we've already
            // established the
            // presence of its handler (although there is an extremely minute window
            // where that
            // handler can go away...)
            startActivity(myIntent);
            return;
        }

        public void goToMarket(Context myContext)
        {
            Uri marketUri = Uri.parse("market://details?id=com.skype.raider");
            Intent myIntent = new Intent(Intent.ACTION_VIEW, marketUri);
            myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            myContext.startActivity(myIntent);

            return;
        }

        public boolean isSkypeClientInstalled(Context myContext)
        {
            PackageManager myPackageMgr = myContext.getPackageManager();
            try
            {
                myPackageMgr.getPackageInfo("com.skype.raider", PackageManager.GET_ACTIVITIES);
            }
            catch (PackageManager.NameNotFoundException e)
            {
                return (false);
            }
            return (true);
        }

        }
Community
  • 1
  • 1
Arulnadhan
  • 923
  • 4
  • 17
  • 46
  • If you wish, you can also use the phone number instead, but this requires a query from the contacts: http://stackoverflow.com/a/35983348/878126 – android developer Mar 22 '16 at 07:30

1 Answers1

0

your variable mySkypeURI should be a string and if you want to start a chat then that string should look like:

skype:<insert your SkypeName>?chat

the code will then parse that string and embed it in the intent.

Allen Smith Program Manager Skype Developer / Skype TX Lync Partner Engineering

Allen Smith
  • 388
  • 1
  • 10