打开第二AAPP的具体活动 [英] Opening Second Aapp's Specific Activity

查看:125
本文介绍了打开第二AAPP的具体活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个应用程序程序App1 App2的我想开 App2的程序App1 ,我想C $ C>的第三个活动应用程序之间传递一些值了。我怎样才能做到这一点。

我已经试过这样:

 意图LaunchIntent = getPackageManager()getLaunchIntentForPackage(com.example.aap2.MainActivity3);
startActivity(LaunchIntent);

但我得到的异常。

  01-23 00:18:04.150:E / AndroidRuntime(5323):java.lang.IllegalStateException:无法执行活动的方法
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.view.View $ 1.onClick(View.java:2144)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.view.View.performClick(View.java:2485)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.view.View $ PerformClick.run(View.java:9080)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.os.Handler.handleCallback(Handler.java:587)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.os.Handler.dispatchMessage(Handler.java:92)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.os.Looper.loop(Looper.java:130)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.app.ActivityThread.main(ActivityThread.java:3714)
01-23 00:18:04.150:E / AndroidRuntime(5323):在java.lang.reflect.Method.invokeNative(本机方法)
01-23 00:18:04.150:E / AndroidRuntime(5323):在java.lang.reflect.Method.invoke(Method.java:507)
01-23 00:18:04.150:E / AndroidRuntime(5323):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:866)
01-23 00:18:04.150:E / AndroidRuntime(5323):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
01-23 00:18:04.150:E / AndroidRuntime(5323):在dalvik.system.NativeStart.main(本机方法)
01-23 00:18:04.150:E / AndroidRuntime(5323):因:java.lang.reflect.InvocationTargetException
01-23 00:18:04.150:E / AndroidRuntime(5323):在java.lang.reflect.Method.invokeNative(本机方法)
01-23 00:18:04.150:E / AndroidRuntime(5323):在java.lang.reflect.Method.invoke(Method.java:507)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.view.View $ 1.onClick(View.java:2139)
01-23 00:18:04.150:E / AndroidRuntime(5323):11 ...更多
01-23 00:18:04.150:E / AndroidRuntime(5323):因:显示java.lang.NullPointerException
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1374)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.app.Activity.startActivityForResult(Activity.java:2827)
01-23 00:18:04.150:E / AndroidRuntime(5323):在android.app.Activity.startActivity(Activity.java:2933)
01-23 00:18:04.150:E / AndroidRuntime(5323):在com.example.aap1.MainActivity1.one(MainActivity1.java:27)


解决方案

该问题是在这里

 意图LaunchIntent = getPackageManager()getLaunchIntentForPackage(com.example.aap2.MainActivity3);

在这里,你必须通过软件包名,但你逝去的活动 name..that过上述将返回发射活动已在manifest文件中设定。

有关这一点,你需要改变你的code这样的..

 意向书I =新意图();
i.setClassName(com.example.aap2,com.example.aap2.MainActivity3);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(ⅰ);

和设置的android:出口=真正的 MainActivity3 在清单

I have two applications App1 and App2 I want to open App2's Third activity from App1 and I want to pass some values between applications too. How can I do this.?

I have tried this:

Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3");
startActivity(LaunchIntent);

But I am getting exception.

01-23 00:18:04.150: E/AndroidRuntime(5323): java.lang.IllegalStateException: Could not execute method of the activity
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.view.View$1.onClick(View.java:2144)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.view.View.performClick(View.java:2485)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.view.View$PerformClick.run(View.java:9080)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.os.Handler.handleCallback(Handler.java:587)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.os.Handler.dispatchMessage(Handler.java:92)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.os.Looper.loop(Looper.java:130)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.app.ActivityThread.main(ActivityThread.java:3714)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at java.lang.reflect.Method.invokeNative(Native Method)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at java.lang.reflect.Method.invoke(Method.java:507)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at dalvik.system.NativeStart.main(Native Method)
01-23 00:18:04.150: E/AndroidRuntime(5323): Caused by: java.lang.reflect.InvocationTargetException
01-23 00:18:04.150: E/AndroidRuntime(5323):     at java.lang.reflect.Method.invokeNative(Native Method)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at java.lang.reflect.Method.invoke(Method.java:507)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.view.View$1.onClick(View.java:2139)
01-23 00:18:04.150: E/AndroidRuntime(5323):     ... 11 more
01-23 00:18:04.150: E/AndroidRuntime(5323): Caused by: java.lang.NullPointerException
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1374)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.app.Activity.startActivityForResult(Activity.java:2827)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at android.app.Activity.startActivity(Activity.java:2933)
01-23 00:18:04.150: E/AndroidRuntime(5323):     at com.example.aap1.MainActivity1.one(MainActivity1.java:27)

解决方案

The problem is here

Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3");

here you have to pass the packagename but you are passing Activity name..that too the above will return the launcher Activity you have set in the manifest file..

For this you need to change your code like this..

Intent i = new Intent();
i.setClassName("com.example.aap2", "com.example.aap2.MainActivity3");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

And set android:export="true" for MainActivity3 in Manifest.

这篇关于打开第二AAPP的具体活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆