我正在尝试使用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";
还有什么其他内容我必须改变才能让它发挥作用吗?我已经查看了几次代码,我认为我没有错过任何东西。
答案 0 :(得分:1)
action
标记的category
和<intent-filter>
元素的字符串区分大小写,而不是:
<category android:name="android.intent.category.Default" />
使用:
<category android:name="android.intent.category.DEFAULT" />