我为一个android应用程序创建了一个测试项目。这个测试项目还创建了一个包含一些内容的excel文件。现在,每次运行应用程序时,我都必须连接我的设备并通过eclipse运行它。然而,我需要在我想要的时候生成excel(在旅途中)。
但我的测试应用程序没有显示在启动器(显然)。我只能看到安装在设置->应用程序->所有的测试项目。因此我甚至不能点击和发射。(第一个问题)
我的方法:我想创建一个单独的android应用程序与一个或两个按钮,并调用测试应用程序与onClickListner
事件。但是,新应用程序再次无法找到测试类。
这是我的代码:
private OnClickListener launchListener = new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.org.search.test","com.org.search.test.MyTestClassName"));
startActivity(intent);
}
};
下面是异常日志:
03-10 17:05:44.185: E/AndroidRuntime(22195): FATAL EXCEPTION: main
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.org.search.test/com.org.search.test.MyTestClassName}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
at android.app.Activity.startActivityForResult(Activity.java:3390)
at android.app.Activity.startActivityForResult(Activity.java:3351)
at android.app.Activity.startActivity(Activity.java:3587)
at android.app.Activity.startActivity(Activity.java:3555)
at com.expedia.pb.activity.ScrapeActivity$2.onClick(ScrapeActivity.java:49)
添加Android Manifest file
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pb.activity"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/PB_APP"
android:theme="@style/AppTheme" >
<activity
android:name="com.pb.activity.ScrapeActivity"
android:label="@string/PB_APP" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.org.search.test.MyTestClassName">
</activity>
</application>
</manifest>
有人能帮我解决这个问题吗? 这表明您忘记在清单文件中声明com.org.search.test.MyTestClassName
。
确保您已在清单文件中注册了MyTestClassName
活动,如下所示:
<activity
android:name=".MyTestClassName"
android:label="@string/basic_map" />
在测试活动中添加类别作为启动器。启动图标将显示在主屏幕上。
<activity
android:name="com.pb.activity.ScrapeActivity"
android:label="@string/PB_APP" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.org.search.test.MyTestClassName">
<category android:name="android.intent.category.LAUNCHER" />
</activity>