Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Access Google Translate App through intents in android

I am developing an Android application where I am invoking the Google Translate app via Intents. The procedure described here was really helpful but I cannot figure out why my app crashes saying "No Activity found to handle Intent".

Thanks in Advance!

Here is my code,

public void translate()
{
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_TEXT, "hello");
    intent.putExtra("key_text_input", "hello");
    intent.putExtra("key_text_output", "");
    intent.putExtra("key_language_from", "en");
    intent.putExtra("key_language_to", "mal");
    intent.putExtra("key_suggest_translation", "");
    intent.putExtra("key_from_floating_window", false);
            new ComponentName(
                "com.google.android.apps.translate",
                "com.google.android.apps.translate.HomeActivity");
    startActivity(intent);

}

And this is what my logcat shows

04-20 07:29:01.647: E/AndroidRuntime(31465): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND flg=0x1 (has clip) (has extras) }
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1423)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Activity.startActivityForResult(Activity.java:3388)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Activity.startActivityForResult(Activity.java:3349)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Activity.startActivity(Activity.java:3584)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.Activity.startActivity(Activity.java:3552)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at com.example.arch.vaani.ocr.FinalActivity.translate(FinalActivity.java:122)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at com.example.arch.vaani.ocr.FinalActivity$1.onClick(FinalActivity.java:101)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.view.View.performClick(View.java:4212)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.view.View$PerformClick.run(View.java:17476)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.os.Handler.handleCallback(Handler.java:800)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.os.Handler.dispatchMessage(Handler.java:100)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.os.Looper.loop(Looper.java:194)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at android.app.ActivityThread.main(ActivityThread.java:5371)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at java.lang.reflect.Method.invokeNative(Native Method)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at java.lang.reflect.Method.invoke(Method.java:525)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
04-20 07:29:01.647: E/AndroidRuntime(31465):    at dalvik.system.NativeStart.main(Native Method)
like image 353
Chaythanya Nair Avatar asked Dec 30 '25 13:12

Chaythanya Nair


1 Answers

You need to change HomeActivity to TranslateActivity

try {
   Intent intent = new Intent();
   intent.setAction(Intent.ACTION_SEND);
   intent.putExtra(Intent.EXTRA_TEXT, "hello");
   intent.putExtra("key_text_input", "hello");
   intent.putExtra("key_text_output", "");
   intent.putExtra("key_language_from", "en");
   intent.putExtra("key_language_to", "mal");
   intent.putExtra("key_suggest_translation", "");
   intent.putExtra("key_from_floating_window", false);
   intent.setComponent(new ComponentName(
        "com.google.android.apps.translate",
        //Change is here 
        //"com.google.android.apps.translate.HomeActivity")); 
        "com.google.android.apps.translate.TranslateActivity"));
   startActivity(intent);
} catch (ActivityNotFoundException e) {
    // TODO Auto-generated catch block
    Toast.makeText(getApplication(), "Sorry, No Google Translation Installed",
            Toast.LENGTH_SHORT).show();
}

Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!