在Android上打开CllLog并选择一个数字
我读过很多人的帖子,他们试图解释如何在Android上打开呼叫日志,允许用户选择一个项目,但其中没有一个有效。在Android上打开CllLog并选择一个数字,android,android-intent,calllog,Android,Android Intent,Calllog,我读过很多人的帖子,他们试图解释如何在Android上打开呼叫日志,允许用户选择一个项目,但其中没有一个有效。 有人有好的工作示例吗?下面的代码片段对我来说非常好 Intent showCallLog = new Intent(); showCallLog.setAction(Intent.ACTION_VIEW); showCallLog.setType(CallLog.Calls.CONTENT_TYPE); context.startActivity(showCallLog); 我
有人有好的工作示例吗?下面的代码片段对我来说非常好
Intent showCallLog = new Intent();
showCallLog.setAction(Intent.ACTION_VIEW);
showCallLog.setType(CallLog.Calls.CONTENT_TYPE);
context.startActivity(showCallLog);
我用我自己的版本实现了这一点。我使用了一个对话框,并将光标交给了通话记录。以下是函数:
public void getCallLog() {
String[] callLogFields = { android.provider.CallLog.Calls._ID,
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.CACHED_NAME /* im not using the name but you can*/};
String viaOrder = android.provider.CallLog.Calls.DATE + " DESC";
String WHERE = android.provider.CallLog.Calls.NUMBER + " >0"; /*filter out private/unknown numbers */
final Cursor callLog_cursor = getActivity().getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI, callLogFields,
WHERE, null, viaOrder);
AlertDialog.Builder myversionOfCallLog = new AlertDialog.Builder(
getActivity());
android.content.DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int item) {
callLog_cursor.moveToPosition(item);
Log.v("number", callLog_cursor.getString(callLog_cursor
.getColumnIndex(android.provider.CallLog.Calls.NUMBER)));
callLog_cursor.close();
}
};
myversionOfCallLog.setCursor(callLog_cursor, listener,
android.provider.CallLog.Calls.NUMBER);
myversionOfCallLog.setTitle("Choose from Call Log");
myversionOfCallLog.create().show();
}
我需要的操作是选择而不是查看,我希望用户选择一个呼叫日志条目。使用此u将获得本机呼叫日志屏幕,您可以执行诸如单击特定联系人等操作。本机呼叫日志将显示,这没关系,但我需要知道用户单击了哪个条目。你是如何得到这些信息的?