Changed things around and now have a new error "*******************
Error ********************************
W/System.err( 621): android.content.ActivityNotFoundException: Unable
to find explicit activity class {com.thomas.needham/.HelloWorld}; have
you declared this activity in your AndroidManifest.xml?"
It is unclear which manifest the error is referencing as the log seems
to indicate "Displayed activity com.thomas.needham/.HelloWorld" for
intent code and the HelloWorld code.
Here's some revised code
------------ Hello World ------------------------------------------
package com.thomas.needham;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android Once More!!");
setContentView(tv);
}
}
----------------------Hello World Manifest
------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.thomas.needham"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".HelloWorld"
android:label="@string/app_name" >
<intent-filter>
<action
android:name="com.thomas.needham.HelloWorld" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
------------- Revised Intent Program -----------------------------
package com.needham.NLauncher;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class SubLauncher extends Activity {
/** Called when the activity is first created. */
private static final String TAG = "NSubLauncher1";
public void onCreate(Bundle savedInstanceState) {
Intent helloworldIntent = new Intent();
helloworldIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
helloworldIntent.setClassName("com.thomas.needham",
".HelloWorld");
try {
Log.d(TAG, "HelloworldIntent: "+ helloworldIntent );
startActivity(helloworldIntent);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
------------------------- NLauncher manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.needham.NLauncher"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:debuggable="true">
<activity
android:name=".SubLauncher"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- android.intent.action.BOOT_COMPLETED -->
<receiver android:name="com.needham.NLauncher.NLauncher" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name=".HelloWorld.LAUNCH_APP" />
<!-- <action android:name="com.needham.NLauncher.LAUNCH_APP" /> -->
</intent-filter>
</receiver>
</application>
</manifest>
------------------------------Logcat --------------------------------
D/dalvikvm( 97): GC freed 123 objects / 5072 bytes in 80ms
********************* HelloWord starts ********************
I/ActivityManager( 51): Starting activity: Intent
{ act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=com.thomas.needham/.HelloWorld }
I/ActivityManager( 51): Displayed activity
com.thomas.needham/.HelloWorld: 488 ms (total 3909291 ms)
W/KeyCharacterMap( 501): No keyboard for id 0
W/KeyCharacterMap( 501): Using default keymap: /system/usr/keychars/
qwerty.kcm.bin
W/KeyCharacterMap( 97): No keyboard for id 0
W/KeyCharacterMap( 97): Using default keymap: /system/usr/keychars/
qwerty.kcm.bin
D/dalvikvm( 501): GC freed 281 objects / 16824 bytes in 154ms
*************** NLauncher starts ****************************
I/ActivityManager( 51): Starting activity: Intent
{ act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=com.needham.NLauncher/.SubLauncher }
I/ActivityManager( 51): Start proc com.needham.NLauncher for
activity com.needham.NLauncher/.SubLauncher: pid=621 uid=10035 gids={}
D/ddm-heap( 621): Got feature list request
D/NSubLauncher1( 621): HelloworldIntent: Intent { flg=0x10000000
cmp=com.thomas.needham/.HelloWorld }
I/ActivityManager( 51): Starting activity: Intent { flg=0x10000000
cmp=com.thomas.needham/.HelloWorld }
******************* Error ********************************
W/System.err( 621): android.content.ActivityNotFoundException: Unable
to find explicit activity class {com.thomas.needham/.HelloWorld}; have
you declared this activity in your AndroidManifest.xml?
W/System.err( 621): at
android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:
1404)
W/System.err( 621): at
android.app.Instrumentation.execStartActivity(Instrumentation.java:
1378)
----------------------------------------------------------------------------
On Feb 27, 1:34 pm, Kostya Vasilyev <[email protected]> wrote:
> The Android runtime is entirely correct.
>
> This code:
>
> public class SubLauncher extends Activity {
> /** Called when the activity is first created. */
> private static final String TAG = "NSubLauncher1";
>
> public void onCreate(Bundle savedInstanceState) {
>
> * Intent helloworldIntent = new Intent ("com.needham.helloworld",
> null);*
>
> ... creates the Intent using this constructor:
>
>
>
> > publicIntent(String
> >
> > <http://developer.android.com/reference/java/lang/String.html>action,Uri
> > <http://developer.android.com/reference/android/net/Uri.html>uri)
>
> > Since:API Level 1
> > <http://developer.android.com/guide/appendix/api-levels.html#level1>
>
> > Create an intent with a given action and for a given data url. Note
> > that the action/must/be in a namespace because Intents are used
> > globally in the system -- for example the system VIEW action is
> > android.intent.action.VIEW; an application's custom action would be
> > something like com.google.app.myapp.CUSTOM_ACTION.
>
> The hello world manifest does not specify an intent filter with action =
> "com.needham.helloworld", thus the error.
>
> I believe you probably meant to create your intent with explicit package
> and class names. To do that, create an empty intent first, then call
> setClassName(String packageName, String className).
>
> It might find it useful to spend some time reading the docs on Intent
> and intent matching.
>
> -- Kostya
>
> On 02/27/2012 10:19 PM, Thomas wrote:
>
>
>
>
>
>
>
> > I need to have an bootup app call another app and while the bootup app
> > appears to work, the second app cannot be found? The NLauncher was
> > derived from another thread "start at boot app gives
> > instantiationException:" in which it took a lot conversation to
> > resolve and I thank all concerned.
> > I added some debug statements to help isolate the problem.
> > Thanks in advance to all.
> > Tom B
>
> > Error:
> > Intent { act=com.needham.helloworld }W/System.err( 191):
> > android.content.ActivityNotFoundException: No Activity found to handle
> > Intent { act=com.needham.helloworld }W/System.err( 191):
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en