Android Studio,意图错误

时间:2014-07-03 03:59:31

标签: android android-intent android-studio

我正在使用Android Studio来编写和运行我的Android应用程序,但是当我尝试通过意图从一个活动转到另一个活动时遇到此错误,我得到此错误:

android.content.ActivityNotFoundException: Unable to find explicit activity class 
{com.example.rudrunk/junit.framework.Test}; have you declared this activity in your
AndroidManifest.xml?

或NullPointerException如果我使用其他意图。

我的清单文件如下,但所有代码都自动来自IDE,所以我不明白发生了什么。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rudrunk"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:debuggable="true" android:allowBackup="true">
    <activity android:label="@string/app_name" android:name="com.example.rudrunk.MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="@string/title_activity_test" android:name="com.example.rudrunk.Test" />
    <activity android:label="@string/title_activity_drunk_test" android:name="com.example.rudrunk.DrunkTest" />
</application>

意图的Java代码:

    final Intent localIntent1 = new Intent(MainActivity.this, DrunkTest.class);
    final Intent localIntent2 = new Intent(MainActivity.this, Test.class);
    Button localButton1 = (Button)findViewById(R.id.maybe);
    Button localButton2 = (Button)findViewById(R.id.yes);

    localButton1.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View paramAnonymousView)
        {
            startActivity(localIntent1);
        }
    });

    localButton2.setOnClickListener(new View.OnClickListener()
    {
      public void onClick(View paramAnonymousView)
      {
        Intent localIntent = new Intent("android.intent.action.CALL");
          localIntent2.setData(Uri.parse("tel:16097212155"));
           startActivity(localIntent2);

      }
    });

1 个答案:

答案 0 :(得分:1)

似乎Test.class已被解析为junit.framework.Test而不是您的活动。这可能是一个错误的导入(import junit.framework.Test;?),但使其工作的可靠方法是使用完整的类名,即

new Intent(MainActivity.this, com.example.rudrunk.Test.class);

在任何情况下,它都应该与AndroidManifest文件中的类名相匹配。