一条关于安卓开发Intent的问题

MainActivity的代码

package black_lotus.blacklotus;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;
import android.view.View.OnClickListener;
import android.view.View;
import android.content.Intent;

public class MainActivity extends Activity {
public final static String SECOND="SECOND";
public final static String THIRD="THIRD";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn=(Button)findViewById(R.id.btn1);
    btn.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent intent=new Intent();
            intent.setAction("black_lotus.blacklotus.MainActivity."+SECOND);
            intent.addCategory("black_lotus.blacklotus.MainActivity."+THIRD);
            startActivity(intent);
        }
    });
}

AndroidMainfest.xml的关于第二个窗口的代码
android:name=".second_activity"
android:label="第二个窗口">

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

            但是logcat里就是说No Activity found to handle Intent,我在网上查了不少资料也没有发现哪里有错,求大家帮帮忙看看哪里出错,谢谢

上面 intent.setAction("black_lotus.blacklotus.MainActivity."+SECOND);
intent.addCategory("black_lotus.blacklotus.MainActivity."+THIRD);
这两句改成intent.setAction(black_lotus.blacklotus.MainActivity.SECOND);
intent.addCategory(black_lotus.blacklotus.MainActivity.THIRD);也不行

你是想实现什么效果??

你没有告诉intent打开哪个activity,你要setclass

你的第一个方案和第二个方案action和category都写错了,别写错了。
应该这样:
intent.setAction("SECOND");
intent.addCategory("android.intent.category.THIRD");

实在不行,干脆把setaction这段去掉。

1、使用隐士意图时,传入的action和category应该是目标Activity的属性。

你的目标Activity的属性是:

<intent-filter>
    <action android:name="SECOND"/>
    <category android:name="android.intent.category.THIRD"/> 
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

2、但是你启动它的时候写的确是:

Intent intent=new Intent();
intent.setAction("black_lotus.blacklotus.MainActivity."+SECOND);
intent.addCategory("black_lotus.blacklotus.MainActivity."+THIRD);
startActivity(intent);

你觉得你设置的和Manifest.xml中写的一样吗?所以日志提示No Activity found to handle Intent,因为确实没有Activity的action、category与你写的一致。

3、正确的写法如下:

Intent intent=new Intent();
intent.setAction("SECOND");
intent.addCategory("android.intent.category.THIRD");
startActivity(intent);