我想检索android应用程序中调用日志中可用的号码。
我不想获取所有通话记录并填充我的应用活动。相反,我想使用现有的Android Intent来查看,一旦从列表中选择了数字,我希望我的活动中的数字。
我想我必须使用 startActivityForResult 。但我感到困惑的是这个方法中的代码是什么。我只想要这个号码。
任何帮助将不胜感激。
此致 香卡
答案 0 :(得分:0)
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());
}
您可以获得所需的任何信息,这只是这样做的方式
答案 1 :(得分:0)
好的,首先来自活动A你应该创建意图
Intent i=new Intent(...);
startActivityForResult(i,0)
并在活动B上执行此操作
Intent i1=getIntent();
//here you put data
i.putExtra("key","value");
并且在第一个活动中,活动A可以获得这样的数据 在方法中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
String dataINeeded=data.getExtra("key");
}
就是这样