user1737035
user1737035

Reputation: 11

How to start viber using intent in android

I want to use Viber's Intent for Android.

I am trying to implement that using the following code, but it is not working.

Intent intent = new intent(Intent.ACTION_SEND);
intent.setType("text/plain");
String text = MyOutputText.getText().toString();              
intent.setPackage("com.viber");

Can anyone tell me where I am going wrong?

Here is my error Log:


06-05 15:16:27.495: E/AndroidRuntime(29956): FATAL EXCEPTION: main
06-05 15:16:27.495: E/AndroidRuntime(29956): android.content.ActivityNotFoundException: No Activity found to handle Intent {     act=android.intent.action.SEND typ=text/plain pkg=com.viber }
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1535)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1387)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.app.Activity.startActivityForResult(Activity.java:3195)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.app.Activity.startActivity(Activity.java:3302)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at com.translate.AndroidTranslate$5.onClick(AndroidTranslate.java:174)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.view.View.performClick(View.java:3627)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.view.View$PerformClick.run(View.java:14329)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.os.Handler.handleCallback(Handler.java:605)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.os.Looper.loop(Looper.java:137)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at android.app.ActivityThread.main(ActivityThread.java:4511)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at java.lang.reflect.Method.invokeNative(Native Method)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at java.lang.reflect.Method.invoke(Method.java:511)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
06-05 15:16:27.495: E/AndroidRuntime(29956):    at dalvik.system.NativeStart.main(Native Method)

Upvotes: 1

Views: 5055

Answers (3)

Morgan Koh
Morgan Koh

Reputation: 2465

You've set the package name wrong, it's supposed to be com.viber.voip.

Checkout this answer, if you want to passed in a phoneNumber as a parameter to launch the Viber with the user phone number with Intent Uri.

https://stackoverflow.com/a/61221029/2867351

Upvotes: 0

Dmila Ram
Dmila Ram

Reputation: 1074

you can use this code to send a simple text via Viber, Viber will guide you to select recipient:

Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setPackage("com.viber.voip");
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "Your text to share");
MainActivity.this.startActivity(share);

Upvotes: 0

Jibran Khan
Jibran Khan

Reputation: 3256

Intent intent = new intent(Intent.ACTION_SEND);
intent.setType("text/plain");
String text = MyOutputText.getText().toString();              
intent.setPackage("com.viber");

//Add this

startActivity(intent);

Upvotes: 1

Related Questions