java - Android startActivity() 适用于一个类,但不适用于另一个类

标签 java android eclipse

我正在开发的应用程序让我很困惑。我目前有三个 Activity (所有这些都在 list 中定义),所有 Activity 都相互转换,即 intro-->activity1-->activity2。从介绍到第一个 Activity 的过渡可以很好地使用:

public void GOTOGPS(View v)
{
    switch (v.getId()){

    case R.id.button1: startActivity(new Intent(v.getContext(), StreetLightOutageActivity.class));//Jump to StreetLightOutageActivity (main.xml)
    default: break;

    }//switch
}//GOTOGPS

但是,我的第二个 Activity “StreetLightOutageActivity”中用于转到我的第三个 Activity 的方法不起作用:

 public void GOTOCAMERA1(View v)
{

    switch (v.getId()){

    case R.id.picturebutton: startActivity(new Intent(v.getContext(), Camera.class));
    default: break;

    }//switch

}//GOTOCAMERA1

LogCat 给我一个 ActivityNotFoundException:

05-17 15:51:41.292: E/AndroidRuntime(534): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {sl.reporter/android.hardware.Camera}; have you declared this activity in your AndroidManifest.xml?

然后是一个 InitationTargetException,我认为它源于之前的异常:

05-17 15:51:41.292: E/AndroidRuntime(534): Caused by: java.lang.reflect.InvocationTargetException

现在真正让我感兴趣的是,如果我修改从介绍屏幕转换到第二个 Activity 的方法以转到“Camera.class”而不是 StreetLightOutageActivity.class,它就会起作用。

最后,这是我的 list ,以防有帮助,

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sl.reporter"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application
    android:icon="@drawable/ic_launcher">
     <activity
         android:name=".StreetLightOutageActivity">
     </activity>
     <activity
        android:name=".Camera">
     </activity>
     <activity
        android:name=".Introscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
     </activity>
</application>

最佳答案

case R.id.picturebutton: startActivity(new Intent(v.getContext(), Camera.class));

我认为在上面的代码中您想要使用 sl.reporter.Camera 类,但错误地最终使用了 android.hardware.Camera

关于java - Android startActivity() 适用于一个类,但不适用于另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639524/

相关文章:

java - Android 状态通知

android - SDK 管理器中未显示 Google USB 包

java - eclipse调试时不反编译rt.jar,但idea可以

java - JAR 在本地工作,但在 Docker 容器中挂起失败 - Apache-POI

Java:ArrayList 瓶颈

java - 将字母 'S' 替换为 '5'

android - ViewPager(包含多个项目)- 如何始终将第一个和最后一个项目居中?

java - 使用 Azure Functions 删除 cosmos DB 项目

android - 如何在后台运行 flex 移动应用程序?

java - Eclipse 和 Apache Axis2 插件 Java Soap——找不到类