[英]No Activity found to handle intent errors
我很沮丧,我没有活动来处理意图,我检查了清单等。有人可以快速浏览一下,看看我在这里做错了什么。
这是我的java课
'import com.one2.indoor.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageButton tut1 = (ImageButton) findViewById(R.id.activitymain);
tut1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity (new Intent("com.indoor.ActivityMain"));
}
});
}'
这是我的ActivityMain类
'import com.one2.indoor.R;
import android.app.Activity;
import android.os.Bundle;
public class ActivityMain extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tutorial);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
}'
最后是我的清单
'<activity
android:name="com.indoor.Main"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.indoor.Menu"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="com.indoor.MENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.indoor.ActivityMain"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="com.indoor.ACTIVITYMAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.indoor.ActivityMain" />
</activity>
</application>
</manifest>
我只是看不到它,为什么会出现错误。 任何帮助,不胜感激
清单中的活动和startActivity的路径可能不正确。 它应该是com.one2.indoor.ActivityMain,或指定为其软件包的任何东西。
另外,我认为您可以将.ActivityMain放在名称的清单中,它将自动找出路径。
最后,尝试使用startActivity(new Intent(YourActivity.this,TargetActivity.class))
就像synergy8所说的那样,您应该接受他的回答,但是您需要在由新活动声明的android清单中使用新意图。
因此,更清楚地说,您应该看到清单中有类似这样的内容,抱歉,我在移动智能手机上这样做
<activity
android:label="@string/app_name"
android:name=".MainActivity" > //your activity name replaces .main activity
<intent-filter >
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
这样做应该是可行的,如果您查看在那里创建的第一个活动,您将看到它,只需将其复制并粘贴并在intent过滤器中更改.main,并将其更改为活动中的.mainactivity
从我所看到的基本上以及什么协同作用来看,您正在导入一个不存在的软件包? 软件包为com.one2.door.activity时的Com.indoor.activity
首先,操作字符串区分大小写。 "com.indoor.ActivityMain"
不等于"com.indoor.ACTIVITYMAIN"
。
其次,您可能始终不希望这些额外的<intent-filter>
元素。 如果您希望第三方应用程序直接调用该活动(例如,您的MAIN
/ LAUNCHER
活动),则仅在该活动上放置<intent-filter>
。 否则,请摆脱<intent-filter>
并使用Synergy807指出的Intent
结构: startActivity(new Intent(this, ActivityMain.class))
我想它将是com.one2.indoor.ActivityMain。还要确保名称应完全相同,因为它们区分大小写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.