Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 第二届Aapp会议开幕';比活度_Android_Android Intent - Fatal编程技术网

Android 第二届Aapp会议开幕';比活度

Android 第二届Aapp会议开幕';比活度,android,android-intent,Android,Android Intent,我有两个应用程序App1和App2,我想从App1打开App2的第三个活动,我还想在应用程序之间传递一些值。我该怎么做 我试过这个: Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3"); startActivity(LaunchIntent); 但我有个例外 01-23 00:18:04.150: E/AndroidRuntime(5323

我有两个应用程序
App1
App2
,我想从
App1
打开
App2
的第三个活动,我还想在应用程序之间传递一些值。我该怎么做

我试过这个:

Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3");
startActivity(LaunchIntent);
但我有个例外

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)
使用


有用资源


  • 您需要将活动声明作为(第二个应用程序)写入清单

    
    //添加意图过滤器(如果有)。
    
    使用


    有用资源


  • 您需要将活动声明作为(第二个应用程序)写入清单

    
    //添加意图过滤器(如果有)。
    
    问题就在这里

    Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3");
    
    在这里,您必须传递
    packagename
    ,但您要传递的是
    Activity
    name.。上述操作也将返回您在清单文件中设置的启动器活动

    为此,您需要像这样更改代码

    Intent i = new Intent();
    i.setClassName("com.example.aap2", "com.example.aap2.MainActivity3");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);
    
    并在清单中为
    MainActivity3
    设置
    android:export=“true”

    问题就在这里

    Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2.MainActivity3");
    
    在这里,您必须传递
    packagename
    ,但您要传递的是
    Activity
    name.。上述操作也将返回您在清单文件中设置的启动器活动

    为此,您需要像这样更改代码

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

    并在清单中为
    MainActivity3
    设置
    android:export=“true”

    仅当您不知道活动名称,并且没有像以前那样在其中传递活动名称时才使用此选项

    Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2");
    
    否则只需尝试以下方法,打开另一个活动的常用方法是

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
    startActivity(intent);
    

    仅当您不知道活动名称时才使用此选项,并且不要像以前那样在其中传递活动名称

    Intent LaunchIntent =   getPackageManager().getLaunchIntentForPackage("com.example.aap2");
    
    否则只需尝试以下方法,打开另一个活动的常用方法是

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
    startActivity(intent);
    

    请添加您的异常日志和您的问题。我添加了异常日志请添加您的异常日志和您的问题。我再次添加了异常日志我收到异常。除了活动之外,我是否应该向清单中添加其他内容?01-23 00:37:09.670:E/AndroidRuntime(5518):原因:java.lang.SecurityException:权限拒绝:从进程记录{408dbff8 5518:com.example.aap1/10045}(pid=5518,uid=10045)中启动意图{flg=0x10000000 cmp=com.example.aap2/.MainActivity3}需要null@Reshmy签入第二个应用程序的活动声明。确保你做了android:exported=“true”。我是从第二个答案中得到的。非常感谢您的支持,我有个例外。除了活动之外,我是否应该向清单中添加其他内容?01-23 00:37:09.670:E/AndroidRuntime(5518):原因:java.lang.SecurityException:权限拒绝:从进程记录{408dbff8 5518:com.example.aap1/10045}(pid=5518,uid=10045)中启动意图{flg=0x10000000 cmp=com.example.aap2/.MainActivity3}需要null@Reshmy签入第二个应用程序的活动声明。确保你做了android:exported=“true”。我是从第二个答案中得到的。非常感谢您的支持