0

We're getting this exception when attempting to define an intent in TestDriver(Centaur-TD) to start the dataRead_Activity class in Centaur. The two applications are in separate projects.

Removed this line of code:

Intent aa = new Intent(TestDriver.this, dataRead_Activity.class);

And, inserted this one:

startActivity(new Intent("cfts.testtools.Centaur.dataRead_Activity"));

The logcat information changed to:

I/ActivityManager(  163): START {act=cfts.testtools.Centaur.dataRead_Activity u=0} from pid 660
W/System.err(  660): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=cfts.testtools.Centaur.dataRead_Activity }
W/System.err(  660):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
W/System.err(  660):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
W/System.err(  660):    at android.app.Activity.startActivityForResult(Activity.java:3351)
W/System.err(  660):    at android.app.Activity.startActivityForResult(Activity.java:3312)
W/System.err(  660):    at android.app.Activity.startActivity(Activity.java:3522)
W/System.err(  660):    at android.app.Activity.startActivity(Activity.java:3490)
W/System.err(  660):    at cfts.testtools.abtcs_centaur_td.TestDriver$1.onClick(TestDriver.java:304)
W/System.err(  660):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
D/dalvikvm(  660): GC_CONCURRENT freed 247K, 9% free 7473K/8199K, paused 19ms+6ms, total 225ms
D/dalvikvm(  660): WAIT_FOR_CONCURRENT_GC blocked 30ms
W/System.err(  660):    at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err(  660):    at android.os.Looper.loop(Looper.java:137)
W/System.err(  660):    at android.app.ActivityThread.main(ActivityThread.java:4745)
W/System.err(  660):    at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err(  660):    at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err(  660):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
W/System.err(  660):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
W/System.err(  660):    at dalvik.system.NativeStart.main(Native Method)

The Manifest for Centaur-TD is:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cfts.testtools.abtcs_centaur_td"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" android:debuggable="true">
        <activity
            android:name="cfts.testtools.abtcs_centaur_td.TestDriver"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="cfts.testtools.centaur.Centaur$dataRead_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="cfts.testtools.centaur.Centaur$dataRead_Activity" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

The Manifest for Centaur is:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cfts.testtools.centaur"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:debuggable="true">
        <activity
            android:name="cfts.testtools.centaur.Centaur"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="cfts.testtools.centaur.Centaur$dataRead_Activity"
            android:label="@string/app_name"
            android:exported="true">
            <intent-filter>
                <action android:name="cfts.testtools.centaur.Centaur$dataRead_Activity" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>
user2584082
  • 21
  • 2
  • 7

1 Answers1

2

Step #1: Add an <intent-filter> to the second activity with a custom action:

<intent-filter>
  <action android:name="com.testapp.ws.XYZ"/>
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Step #2: Start that activity using an appropriate Intent:

startActivity(new Intent("com.testapp.ws.XYZ"));

See this for further explanations - https://stackoverflow.com/a/10961409/826657

Community
  • 1
  • 1
Rachit Mishra
  • 5,983
  • 4
  • 25
  • 49
  • I made the changes and got "android.content.ActivityNotFoundException: No Activity found to handle Intent { act=cfts.testtools.Centaur.dataRead_Activity }" when starting the dataRead_Activity. – user2584082 Aug 27 '13 at 21:04
  • ` ` Here you use $ and in Intent call `startActivity(new Intent("cfts.testtools.Centaur.dataRead_Activity"));` you use a `.` – Rachit Mishra Aug 27 '13 at 21:10
  • we did it... o yeah.. we rock brother .. ! – Rachit Mishra Aug 28 '13 at 15:53