我正在开发的应用程序让我很困惑。我目前有三个 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/