我想检索android应用程序中的通话记录中可用的号码。从通话记录检索电话号码android
我不想获取所有通话记录并填充到我的应用活动中。相反,我想使用现有的Android Intent来查看并从列表中选择一个数字,我希望数字回到我的活动中。
我想我将不得不使用startActivityForResult为此。但是我很困惑的是这个方法的代码是什么。我只想要号码。
任何帮助将不胜感激。
问候, 桑卡
我想检索android应用程序中的通话记录中可用的号码。从通话记录检索电话号码android
我不想获取所有通话记录并填充到我的应用活动中。相反,我想使用现有的Android Intent来查看并从列表中选择一个数字,我希望数字回到我的活动中。
我想我将不得不使用startActivityForResult为此。但是我很困惑的是这个方法的代码是什么。我只想要号码。
任何帮助将不胜感激。
问候, 桑卡
OK的方式,首先从活动一应创建意图
Intent i=new Intent(...);
startActivityForResult(i,0)
和活动B你这样做
Intent i1=getIntent();
//here you put data
i.putExtra("key","value");
,比第一个活动,活动一个你得到你的数据是这样 的方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
String dataINeeded=data.getExtra("key");
}
就是这样
String[] strFields = {
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.TYPE,
android.provider.CallLog.Calls.CACHED_NAME,
android.provider.CallLog.Calls.CACHED_NUMBER_TYPE
};
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
Cursor mCallCursor = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI,
strFields,
null,
null,
strOrder
);
if(mCallCursor.moveToFirst()){
// loop through cursor
do{
int ind=mCallCursor.getColumnIndex(android.provider.CallLog.Calls.NUMBER);
int ind1=mCallCursor.getColumnIndex(android.provider.CallLog.Calls.CACHED_NAME);
Log.v("asd", "NUmber:"+mCallCursor.getString(ind)+" Name:"+mCallCursor.getString(ind1));
} while (mCallCursor.moveToNext());
}
你可以得到你需要的任何信息,这只是做
感谢。但我正在寻找将返回Android现有通话记录活动中唯一选定号码的内容。在你的方法中,这将列出手机中可用的所有日志。 –