我为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>
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
它表示您忘记在清单文件中声明com.org.search.test.MyTestClassName
。
确保您已清除了清单文件中的MyTestClassName
活动,如下所示:
<activity
android:name=".MyTestClassName"
android:label="@string/basic_map" />
答案 1 :(得分:0)
在测试活动中添加类别作为启动器。启动图标将显示在主屏幕中。
<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>