0
運行我的應用程序時,LogCat中出現以下錯誤。 「未發現處理意圖的活動」如何在清單中註冊意向
按下button3,callButton時發生錯誤。這會嘗試調出要聯繫的聯繫人列表。它什麼都不做,並在幾次按下後,應用程序崩潰。
我認爲我必須將意圖添加到清單中,但我不確定作爲新手遇到了這個問題。
AndroidManifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.contactpicker" >
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.persmission.CALL_PHONE" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
<application android:icon="@drawable/ic_launcher" >
<activity
android:name="com.example.contactpicker.ContactPicker"
android:label="All Contacts" >
<intent-filter>
<action android:name="android.intent.action.PICK" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<data
android:path="contacts"
android:scheme="content" >
</data>
</intent-filter>
</activity>
<activity
android:name="com.example.contactpicker.ContactPickerTester"
android:label="@string/title_activity_contact_picker_tester" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.contactpicker.ContactDetailActivity"
android:label="@string/title_activity_contact_detail" >
</activity>
<activity
android:name="com.example.contactpicker.ContactDetailFragment"
android:label="@string/title_activity_contact_detail_fragment" >
</activity>
<activity
android:name="com.example.contactpicker.ContactsListActivity"
android:label="@string/title_activity_contacts_list" >
</activity>
<activity
android:name="com.example.contactpicker.ContactsListFragment"
android:label="@string/title_activity_contacts_list_fragment" >
</activity>
<activity
android:name="com.example.contactpicker.ContentProviderActivity"
android:label="@string/title_activity_content_provider" >
</activity>
</application>
</manifest>
其他代碼
public class ContactPickerTester extends Activity {
public static final int PICK_CONTACT = 1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact_picker_tester);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View _view) {
Intent intent = new Intent(Intent.ACTION_PICK, Uri
.parse("content://contacts/"));
startActivityForResult(intent, PICK_CONTACT);
}
});
Button insertContactButton = (Button) findViewById(R.id.button2);
insertContactButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
insertContactWithIntent();
}
});
}
private void insertContactWithIntent() {
// inserting a new contact using intents//
Intent intent = new Intent(Intent.ACTION_INSERT,
ContactsContract.Contacts.CONTENT_URI);
startActivity(intent);
Button callButton = (Button) findViewById(R.id.button3);
callButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("content://contacts/"));
startActivity(myIntent);
}
});
}
@Override
public void onActivityResult(int reqCode, int resCode, Intent data) {
super.onActivityResult(reqCode, resCode, data);
switch (reqCode) {
case (PICK_CONTACT): {
if (resCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
c.moveToFirst();
String name = c
.getString(c
.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
TextView tv = (TextView) findViewById(R.id.selected_contact_textview);
tv.setText(name);
}
break;
}
}
}
}
這個作品!但我想沒有任何phoneNumber字符串,(我將它設置爲0,並且當單擊按鈕時,它打開0上的撥號程序)。我怎樣才能打開電話而不使用電話號碼? – user3466400
如果您需要打開,請勿在意圖中設置數據。另請參閱我的更新答案,如何啓動聯繫人並根據需要選擇號碼 – Libin
謝謝! v有幫助 – user3466400