android.content.ActivityNotFoundException:没有find处理意图启animation面的活动

在启动屏幕后,我正在加载新的意图。 我已经看过有关这个例外的问题,但他们似乎都处理像谷歌播放或谷歌地图不被正确引用,这不是我的情况。

这些是我所看到的相关问题

没有find处理意图的活动?

找不到处理意图的活动

找不到处理意图的活动

以下是我的清单代码

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.main" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Splash" 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=".HomePage" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.HOMEPAGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name=".OrderPlaced" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.ORDERPLACED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest> 

这是类飞溅的代码

 package com.android.main; import android.app.Activity; import android.content.Intent; import android.os.Bundle; public class Splash extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); Thread timer = new Thread(){ public void run(){ try{ sleep(1000); }catch(InterruptedException e) { e.printStackTrace(); }finally{ Intent openStartingPoint = new Intent("com.android.main.HOMEPAGE"); startActivity(openStartingPoint); } } }; timer.start(); } @Override protected void onPause() { super.onPause(); finish(); } } 

这里是主页我正试图加载后的初始屏幕

 package com.android.main; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; public class HomePage extends Activity { /** Called when the activity is first created. */ TextView name; EditText editName; TextView drinks; Spinner drinksSpinner; TextView message; CheckBox checkbox; Button createOrderButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); createOrder(); } public void createOrder(){ createOrderButton = (Button) findViewById(R.id.bCreateOrder); createOrderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { postInformationtoAPI(); } private void postInformationtoAPI() { goToOrderCompleted(); } private void goToOrderCompleted() { Intent intent = new Intent(HomePage.this , OrderPlaced.class); HomePage.this.startActivity(intent); Log.i("onClick", "trying to start new activity to change layout"); } }); } } 

加载启animation面后应用程序强制退出,并给出以下例外

 03-14 22:32:33.553: E/AndroidRuntime(3166): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.main.HOMEPAGE } 

任何帮助,将不胜感激

Solutions Collecting From Web of "android.content.ActivityNotFoundException:没有find处理意图启animation面的活动"

你必须区分意图的构造函数,

  Intent openStartingPoint = new Intent("com.android.main.HOMEPAGE"); 

假设com.android.main.HOMEPAGEIntent的action Filter 。 哪个在您的应用程序的android manifest.xml文件中不可用。 你有

<action android:name="android.intent.action.HOMEPAGE" />

这应该是,

<action android:name="com.android.main.HOMEPAGE" />

或者只是改变它,

 Intent openStartingPoint = new Intent(Splash.this, HOMEPAGE.class); 
  <activity android:label="@string/app_name" android:name=".SplashScreen" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.android.main.HOMEPAGE" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter > <action android:name="com.android.main.HOMEPAGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

另外我会有一个计时器任务来显示启animation面

 public class SplashScreen extends Activity{ Timer splashTimer; SplashTimerHandler splashTimerHandler; private boolean applicationPaused=false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); this.setSplash(); } private void setSplash() { this.splashTimerHandler=new SplashTimerHandler(); this.splashTimer=new Timer(); this.splashTimer.schedule(this.splashTimerHandler, 0, 1000); } @Override public void onPause() { super.onPause(); this.applicationPaused=true; this.closeSplashTimer(); } @Override public void onResume() { super.onResume(); if(this.applicationPaused) { this.applicationPaused=false; this.closeSplashTimer(); this.setSplash(); } } public class SplashTimerHandler extends TimerTask{ int splashTimerCounter=0; @Override public void run() { splashTimerCounter++; if(splashTimerCounter>2) { runOnUiThread(splashTimeOver); } } private Runnable splashTimeOver=new Runnable() { @Override public void run() { closeSplashTimer(); startHomeScreen(); } }; } protected void closeSplashTimer() { if(this.splashTimer!=null) { this.splashTimer.cancel(); this.splashTimer=null; } } private void startHomeScreen() { this.closeSplashScreen(); startActivity(new Intent("com.android.main.HOMEPAGE")); } private void closeSplashScreen() { this.closeSplashTimer(); this.finish(); } @Override public boolean onKeyDown(int keycode, KeyEvent event) { if(keycode==KeyEvent.KEYCODE_BACK) { this.closeSplashScreen(); } return true; } }