Android - APP在我使用影响意图

时间:2015-08-10 03:20:40

标签: android android-intent crash



<activity
  android:name=".Fisrt"
  android:label="@string/title_activity_first" >
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
<activity
  android:name=".Second"
  android:label="@string/title_activity_second" >
  <intent-filter>
    <action android:name="com.example.MusicTest.First"/>
    <category android:name="ANDROID.INTENT.CATEGORY.DEFAULT"/>
  </intent-filter>
</activity>
&#13;
&#13;
&#13;

在我的First.java中,代码如下。

public final static String MY_ACTION = "com.example.MusicTest.First";

public void change(View view) {
    Intent intent = new Intent(First.MY_ACTION);
    startActivity(intent);
}

问题是每当我调用change()时,APP都会崩溃。任何输入都会有所帮助。感谢。

/ 补充 / 日志如下:

  

08-10 11:59:08.873 17509-17509 / com.example.root.musictest W / dalvikvm:threadid = 1:线程退出时未捕获异常(group = 0x41ffcd58)   08-10 11:59:08.873 17509-17509 / com.example.root.musictest E / AndroidRuntime:FATAL EXCEPTION:main       处理:com.example.root.musictest,PID:17509       java.lang.IllegalStateException:无法执行活动的方法       在android.view.View $ 1.onClick(View.java:3829)       在android.view.View.performClick(View.java:4444)       在android.view.View $ PerformClick.run(View.java:18457)       在android.os.Handler.handleCallback(Handler.java:733)       在android.os.Handler.dispatchMessage(Handler.java:95)       在android.os.Looper.loop(Looper.java:136)       在android.app.ActivityThread.main(ActivityThread.java:5034)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:515)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:807)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:623)       at dalvik.system.NativeStart.main(Native Method)       引起:java.lang.reflect.InvocationTargetException       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:515)       在android.view.View $ 1.onClick(View.java:3824)       在android.view.View.performClick(View.java:4444)       在android.view.View $ PerformClick.run(View.java:18457)       在android.os.Handler.handleCallback(Handler.java:733)       在android.os.Handler.dispatchMessage(Handler.java:95)       在android.os.Looper.loop(Looper.java:136)       在android.app.ActivityThread.main(ActivityThread.java:5034)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:515)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:807)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:623)       at dalvik.system.NativeStart.main(Native Method)       引起:android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = com.example.MusicTest.First}       在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)       在android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)       在android.app.Activity.startActivityForResult(Activity.java:3439)       在android.app.Activity.startActivityForResult(Activity.java:3400)       在android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:820)       在android.app.Activity.startActivity(Activity.java:3642)       在android.app.Activity.startActivity(Activity.java:3610)       在com.example.root.musictest.First.change(First.java:46)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:515)       在android.view.View $ 1.onClick(View.java:3824)       在android.view.View.performClick(View.java:4444)       在android.view.View $ PerformClick.run(View.java:18457)       在android.os.Handler.handleCallback(Handler.java:733)       在android.os.Handler.dispatchMessage(Handler.java:95)       在android.os.Looper.loop(Looper.java:136)       在android.app.ActivityThread.main(ActivityThread.java:5034)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:515)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:807)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:623)       在dalvik.system.NativeStart.main(本地方法)

3 个答案:

答案 0 :(得分:0)

将您的清单文件更改为:

<activity
  android:name=".Fisrt"
  android:label="@string/title_activity_first" >
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
<activity
  android:name=".Second"
  android:label="@string/title_activity_second" >
</activity>

要开始Second活动,请尝试以下代码:

Intent intent = new Intent(First.this, Second.class);
startActivity(intent);

答案 1 :(得分:0)

请尝试使用以下代码设置操作。

using namespace cv;

int main()
{
    Mat image;

    VideoCapture cap;
    cap.open(0);

    namedWindow("window", 1);
    while (true)
    {
        cap >> image;
        imshow("window", image);
        waitKey(33);
    }
}

此后将启动第二项活动。

当然,您也可以添加

Intent intent = new Intent();
intent.setAction(First.MY_ACTION);
startActivity(intent);

用于设置您在AndroidManifest中为第二个活动设置的类别。

答案 2 :(得分:0)

清单中有拼写错误

<activity
  android:name=".Fisrt"

应该是

android:name=".First"

因为您的MY_ACTION字符串是第一

public final static String MY_ACTION = "com.example.MusicTest.First";