在 class 文件中未找到 Activity 处理 Intent

No Activity Found to handle Intent in the class file

我是 Android 的新手。我正在学习如何在活动中传递意图。这是我在 2 个活动之间传递 Intent 的代码。

  1. MainActivity.java

    public class MainActivity extends ActionBarActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
    Button b1 = (Button)findViewById(R.id.btOk);
    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText etName = (EditText)findViewById(R.id.etName);
            String Data = etName.getText().toString();
    
            Intent i = new Intent("com.adhish.passingintentdata.layout2");
            Bundle extras = new Bundle();
            extras.putString("Name", Data);
            i.putExtras(extras);
            startActivityForResult(i,1);
        }
    });
    }
    
  2. layout2.java

    public class layout2 extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_layout2);
    
    String myName = null;
    Bundle extras = getIntent().getExtras();
    if(extras != null)
    {
        myName = extras.getString("Name");
    }
    
    TextView tvData = (TextView)findViewById(R.id.tvData);
    tvData.setText(myName);
    }
    }
    
  3. Manifest.xml

    <application
    android:allowBackup="true"
    android:icon="@mipmap/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="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".layout2"
        android:label="@string/title_activity_layout2"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.adhish.passingintentdata.MainActivity" />
    </activity>
    

当我 运行 此代码并单击“确定”按钮以传递数据时,我的应用程序崩溃并出现致命错误。

错误是:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.adhish.passingintentdata.layout2 (has extras) }

请给我有关处理此问题的详细帮助,因为我是 Android 的新手。

谢谢。

使用 com.adhish.passingintentdata.MainActivity 作为创建启动意图的操作字符串 layout2 Activity :

    Intent i = new Intent("com.adhish.passingintentdata.layout2");

并在 Manifast 中为 layout2 添加 intent-filter Activity:

<intent-filter>
        <action android:name="com.adhish.passingintentdata.layout2" /> 
 </intent-filter>

改为使用此意图:

Intent i = new Intent(MainActivity.this, layout2.class);