从另一个应用程序启动测试项目



我为一个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>

相关内容

  • 没有找到相关文章

最新更新