未找到 activity 来处理 Intent/no 启动器 activity 发现清单文件问题
No activity found to handle Intent/no launcher activity found manifest file issue
伙计们,问题来了,首先,我尝试 运行 我的应用程序使用 Launch default activity 作为启动操作(运行 配置 --> Android -->启动操作),logcat 一直告诉我找不到启动器 activity 并且应用程序甚至无法启动,问题是我在清单文件中定义了启动器 activity , 但它就像根本没有阅读它。
所以我尝试通过 运行 配置专门告诉它 运行 来启动启动画面 activity,它确实启动了,但是在过渡到下一个 activity 它再次崩溃,logcat 说没有找到 activity 来处理意图,我再次定义了我在其他应用程序中所做的方式并且在那里工作正常。请帮忙,这是一场噩梦。
这是 MainActivity 的代码:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread timer = new Thread()
{
public void run(){
try{
sleep(6000);
} catch (InterruptedException e){
e.printStackTrace();
} finally {
Intent openStarting = new Intent("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);
}
}
};
timer.start();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
}
和清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="totaltrainer.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutPlace"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutPlace" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutHome"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutHome" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutGym"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutGym" />
</intent-filter>
</activity>
</application>
</manifest>
使用"totaltrainer.com.WORKOUTGYM"等等
下面使用这个
<category android:name="android.intent.category.DEFAULT" />
问题 1
logcat kept telling me that it can't find the launcher activity and
the application wouldn't even start
在您的清单文件中,进行以下更改
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
作为
<activity android:name="MainActivity">
<!-- This activity is the main entry, should appear in app launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
定义此操作和类别时会发生什么情况?
ACTION_MAIN 操作表明这是主要入口点,不需要任何意图数据。
CATEGORY_LAUNCHER 类别表示此 activity 的图标应放置在系统的应用程序启动器中。如果元素没有指定带图标的图标,则系统使用元素中的图标。
这两个必须配对才能使 activity 出现在应用程序启动器中。
问题 2
the logcat says no activity found to handle intent
您的清单声明似乎没问题。
在你的 activity class 中,更改
Intent openStarting = new Intent("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);
为
Intent openStarting = new Intent();
openStarting.setAction("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);
伙计们,问题来了,首先,我尝试 运行 我的应用程序使用 Launch default activity 作为启动操作(运行 配置 --> Android -->启动操作),logcat 一直告诉我找不到启动器 activity 并且应用程序甚至无法启动,问题是我在清单文件中定义了启动器 activity , 但它就像根本没有阅读它。
所以我尝试通过 运行 配置专门告诉它 运行 来启动启动画面 activity,它确实启动了,但是在过渡到下一个 activity 它再次崩溃,logcat 说没有找到 activity 来处理意图,我再次定义了我在其他应用程序中所做的方式并且在那里工作正常。请帮忙,这是一场噩梦。
这是 MainActivity 的代码:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread timer = new Thread()
{
public void run(){
try{
sleep(6000);
} catch (InterruptedException e){
e.printStackTrace();
} finally {
Intent openStarting = new Intent("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);
}
}
};
timer.start();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
}
和清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="totaltrainer.com"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutPlace"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutPlace" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutHome"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutHome" />
</intent-filter>
</activity>
<activity
android:name=".WorkoutGym"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.WorkoutGym" />
</intent-filter>
</activity>
</application>
</manifest>
使用"totaltrainer.com.WORKOUTGYM"等等 下面使用这个
<category android:name="android.intent.category.DEFAULT" />
问题 1
logcat kept telling me that it can't find the launcher activity and the application wouldn't even start
在您的清单文件中,进行以下更改
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="totaltrainer.com.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
作为
<activity android:name="MainActivity">
<!-- This activity is the main entry, should appear in app launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
定义此操作和类别时会发生什么情况?
ACTION_MAIN 操作表明这是主要入口点,不需要任何意图数据。
CATEGORY_LAUNCHER 类别表示此 activity 的图标应放置在系统的应用程序启动器中。如果元素没有指定带图标的图标,则系统使用元素中的图标。
这两个必须配对才能使 activity 出现在应用程序启动器中。
问题 2
the logcat says no activity found to handle intent
您的清单声明似乎没问题。
在你的 activity class 中,更改
Intent openStarting = new Intent("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);
为
Intent openStarting = new Intent();
openStarting.setAction("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);