【问题标题】:No activity found to handle Intent/no launcher activity found manifest file issue未找到处理 Intent 的活动/未找到启动器活动清单文件问题
【发布时间】:2015-01-25 16:55:50
【问题描述】:

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

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

这是 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>

【问题讨论】:

    标签: android android-intent android-launcher


    【解决方案1】:

    使用“totaltrainer.com.WORKOUTGYM”等 并在下面使用这个

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

    【讨论】:

    • 谢谢,它有帮助:D 老实说,我现在不知道所有的大写字母我觉得很愚蠢。
    【解决方案2】:

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

    这两个必须配对在一起才能使 Activity 出现在应用启动器中。

    问题 2

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

    您的清单声明似乎很好。

    在你的活动课上,改变

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

    作为

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      相关资源
      最近更新 更多