ContactManager示例中抛出ActivityNotFoundException

时间:2012-04-22 18:16:26

标签: android android-intent

我正在尝试使用Android开发人员网站上的ContactManager,当我按下我的按钮转到ContactManager时,它会关闭并抛出异常:

throw new ActivityNotFoundException("No Activity found to handle " + intent);

它在switch(res)之下,所以我猜它没有连接到ContactManager。这是我ContactManager的按钮:

Button clas;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.friends);

    SettingButtons();
    clas.setOnClickListener(this);
}

public void onClick(View v) {
    switch(v.getId()){
        case R.id.TOFRIENDS:
            startActivity(new Intent("com.clayton.calendar.ContactManager"));
            break;
    }
}

private void SettingButtons() {
    clas = (Button) findViewById(R.id.TOFRIENDS);
}

我的AndroidManifest文件是:

<activity android:name=".ContactManager" android:label="@string/app_name">
    <intent-filter>
        <action android:name="com.clayton.calendar.ContactManager" />
        <category android:name="android.intent.category.Default" />
    </intent-filter>
</activity>

<activity android:name="ContactAdder" android:label="@string/addContactTitle">
</activity>

ContactManager我将包更改为package com.clayton.calendar并在AddContact中更改了以下内容:

public static final String ACCOUNT_NAME = "com.clayton.calendar.ACCOUNT_NAME";
public static final String ACCOUNT_TYPE = "com.clayton.calendar.ACCOUNT_TYPE";

还有什么其他内容我必须改变才能让它发挥作用吗?我已经查看了几次代码,我认为我没有错过任何东西。

1 个答案:

答案 0 :(得分:1)

action标记的category<intent-filter>元素的字符串区分大小写,而不是:

<category android:name="android.intent.category.Default" />

使用:

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