导入android呼叫日志并显示它
我已经为android制作了一个联系人应用程序。它具有添加联系人、删除联系人、呼叫和短信的基本功能。现在我想添加一个额外的功能,从手机导入通话记录并显示它。这是我尝试过的编码:导入android呼叫日志并显示它,android,android-contacts,Android,Android Contacts,我已经为android制作了一个联系人应用程序。它具有添加联系人、删除联系人、呼叫和短信的基本功能。现在我想添加一个额外的功能,从手机导入通话记录并显示它。这是我尝试过的编码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_w
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".call_log"
tools:ignore="ObsoleteLayoutParam" >
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/textview_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</ScrollView>
</RelativeLayout>
源代码归功于。
我在call_log.java文件中得到了错误。错误是textview\u调用无法解决或不是字段。
非常感谢您的帮助。请提供最少的工作量,例如代码示例。我已经尝试了本教程。但是,xml文件的代码不适合我。这学期我刚学了java,对它了解不多。dosnt work不是一个非常精确的说法。编辑您的问题以准确描述您的问题、您尝试了什么以及是否收到任何与问题相关的错误消息。请帮助我不是问题。您需要显示遇到问题的代码,并解释问题是什么,即它正在做什么和应该做什么,包括日志和错误消息(如果有)。好的,只是缺少问题或问题。代码崩溃了吗?它不会编译吗?是否有错误消息?
public class call_log extends Activity {
TextView textView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview_call);
getCallDetails();
}
private void getCallDetails() {
StringBuffer sb = new StringBuffer();
Cursor managedQuery = managedQuery(CallLog.Calls.CONTENT_URI, null,
null, null, null);
Cursor managedCursor = managedQuery;
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
sb.append("Call Log :");
while (managedCursor.moveToNext()) {
String phNumber = managedCursor.getString(number);
String callType = managedCursor.getString(type);
String callDate = managedCursor.getString(date);
Date callDayTime = new Date(Long.valueOf(callDate));
String callDuration = managedCursor.getString(duration);
String dir = null;
int dircode = Integer.parseInt(callType);
switch (dircode) {
case CallLog.Calls.OUTGOING_TYPE:
dir = "OUTGOING";
break;
case CallLog.Calls.INCOMING_TYPE:
dir = "INCOMING";
break;
case CallLog.Calls.MISSED_TYPE:
dir = "MISSED";
break;
}
sb.append("\nPhone Number:--- " + phNumber + " \nCall Type:--- "
+ dir + " \nCall Date:--- " + callDayTime
+ " \nCall duration in sec :--- " + callDuration);
sb.append("\n----------------------------------");
}
//managedCursor.close();
textView.setText(sb);
}