【问题标题】:android application force closingandroid应用强制关闭
【发布时间】:2014-05-09 02:53:56
【问题描述】:

我有一个带有“关于”按钮的小菜单。当我按下它时,应用程序强制关闭。 logcat 说没有找到处理意图的活动,但我不确定为什么。在清单中声明如下

<activity
            android:name=".About"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.androidsleepmachine.gamble.About" />

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

意图从代码开始

   case R.id.About:
    Intent i = new Intent("com.androidsleepmachine.gamble.About");
    startActivity(i);
    break;

Logcat 文件

05-08 23:13:19.258:E/AndroidRuntime(15746):致命异常:主要 05-08 23:13:19.258: E/AndroidRuntime(15746): android.content.ActivityNotFoundException: 没有找到处理 Intent { act=com.androidsleepmachine.gamble.About } 的活动 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1416) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Activity.startActivityForResult(Activity.java:3389) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Activity.startActivityForResult(Activity.java:3350) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Activity.startActivity(Activity.java:3562) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Activity.startActivity(Activity.java:3528) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 com.androidsleepmachine.gamble.Home.onOptionsItemSelected(Home.java:83) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 android.app.Activity.onMenuItemSelected(Activity.java:2566) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:978) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149) 05-08 23:13:19.258: E/AndroidRuntime(15746): 在 com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874) 05-08 23:13:19.258: E/AndroidRuntime(15746): at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:166)

【问题讨论】:

  • 请发布错误日志
  • 你确定吗,关于类在 com.androidsleepmachine.gamble 包中?

标签: android eclipse android-intent forceclose


【解决方案1】:

试试这个,

    Intent i = new Intent(this,About.class);
// you may need to end this current activity if you dont want to use it anymore, just add `flags` to the intent 
startActivity(i);

在您的清单android:name= 中同时点击controlspace 并从那里选择您的课程以避免任何有关指向您的课程的问题。

【讨论】:

  • 这两个都解决了这个问题。谢谢大家,感谢大家抽出宝贵时间回复。
【解决方案2】:

改个名字就好了。

<activity
        android:name="com.androidsleepmachine.gamble.About"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

【讨论】:

  • 使用您的修复程序时仍然强制关闭
  • 提供您创建的包名,不要更改大写字母。
  • 包 com.androidsleepmachine.gamble;将其他地方显示为 androidsleepsounds 的原因是,由于另一个应用程序制造商在使用标题时拥有睡眠和机器,我不得不更改应用程序的名称。
【解决方案3】:

日志清楚地显示了问题。

您正在尝试启动名称为 com.AndroidSleepSounds.gamble.AboutActivity

 com.AndroidSleepSounds.gamble.About

但是,它不在 Manifest 中。

 android:name="com.androidsleepmachine.gamble.About"

这是不同的类名。改成

android:name="com.AndroidSleepSounds.gamble.About"

【讨论】:

  • 刚刚进行了更改,它仍然强制关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多