找不到处理Intent / no启动程序活动的活动,发现清单文件问题

时间:2015-01-25 16:55:51

标签: android android-intent android-launcher

这里有问题的人,首先我尝试使用启动默认活动运行我的应用程序作为启动操作(运行配置 - &gt; Android - &gt;启动操作),logcat一直告诉我它可以&找不到启动器活动,应用程序甚至无法启动,问题是我在清单文件中定义了我的启动器活动,但是它根本就没有读取它。< / p>

所以我尝试通过专门告诉它通过运行配置运行它来启动启动活动,它确实启动但在转换到下一个活动时它再次崩溃,logcat说没有找到处理意图的活动,这又一次,我定义了我在其他应用程序中的方式,并在那里工作正常。 Plase帮助它成为一场噩梦。

这里是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();
}
}

和Manifest:

<?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>

2 个答案:

答案 0 :(得分:0)

使用“totaltrainer.com.WORKOUTGYM”等 以下使用此

<category android:name="android.intent.category.DEFAULT" />

答案 1 :(得分:0)

问题1

  

logcat一直告诉我它无法找到启动器活动   应用程序甚至无法启动

在您的清单文件中,更改以下

<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类别表示此活动的图标应放置在系统的应用启动器中。如果元素未指定带图标的图标,则系统将使用元素中的图标。

这两个必须配对,以便活动显示在应用启动器中。

问题2

  

logcat表示没有找到处理意图的活动

您的舱单声明似乎没问题。

在您的活动课程中,更改

Intent openStarting = new Intent("totaltrainer.com.WorkoutPlace");
            startActivity(openStarting);

作为

Intent openStarting = new Intent();
openStarting.setAction("totaltrainer.com.WorkoutPlace");
startActivity(openStarting);