嘿伙计我已经做了很少的应用程序并且这次做的完全相同,虽然我收到了错误。请检查下面的logcat
05-04 07:35:41.888: E/AndroidRuntime(1066): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.droidacid.count.COUNT }
这是我的主类
的java代码package com.droidacid.count;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class mainMenu扩展了Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
Button bapticalc = (Button) findViewById(R.id.bapticalc);
try{
bapticalc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.droidacid.count.COUNT"));
}
});
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
这是我的apticalc类代码
package com.droidacid.count;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;systemptiCalc extends Activity{
Button bnumsys;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.apticalc);
bnumsys = (Button) findViewById(R.id.bnumsys);
bnumsys.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.droidacid.count.SYS"));
}
});
}
}
而且这是我的android清单代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.droidacid.apticalc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".mainMenu"
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=".count"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="com.droidacid.count.COUNT" />
/////////这是错误......解决了...虽然应该是com.droidacid.apticalc.APTICALC
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
对于这么长的问题,我真的很抱歉,但我真的很想说明发生在我身上的一切......如果有人能帮我解决如何正确检查logcat的错误,我真的很感激?
注意:已更新为实际代码。
答案 0 :(得分:3)
您的Android清单似乎没有捕获com.droidacid.apticalc.APTICALC
的意图过滤器。
将您的第二个intent-filter更改为:
<intent-filter>
<action android:name="com.droidacid.apticalc.APTICALC" />
<action android:name="com.droidacid.apticalc.NUMBERSYS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
答案 1 :(得分:0)
我觉得你的Manifest中缺少一项活动。您在Manifest中引用了com.droidacid.count.count
(
<activity
android:name=".count"
android:label="@string/app_name"
>
是包名称的扩展名。 The documentation州:
android:name实现活动的类的名称,a Activity的子类。属性值应该是完全限定的 类名(例如“com.example.project.ExtracurricularActivity”)。 但是,作为简写,如果名称的第一个字符是a 句号(例如“.ExtracurricularActivity”),附加到 元素中指定的包名称。
因此,您要么更改班级名称,要么更改清单的内容。我正在做的时候:你正在调用startActivity(new Intent("com.droidacid.count.COUNT"));
,你需要改变它以匹配清单中的intent-filter(因为它应该是startActivity(new Intent("com.example.sweet_memories.COUNT"));
)。