我想创建一个代码,在没有任何提示的情况下将联系人添加到android联系人列表中,但我得到了这个异常。如果你有另一个想法,我可以添加一个联系人到联系人列表没有任何窗口出现,请与我分享。我是java新手,所以如果你想帮助我展示一个例子或纠正我的代码,请。
class ContactAdd extends Activity
{
private String FirstName, LastName, PhoneNumber;
private Context mContext;
public ContactAdd(String First, String Last, String Phone, Context context)
{
this.FirstName = First;
this.LastName = Last;
this.PhoneNumber = Phone;
this.mContext = context;
}
public ArrayList<ContentProviderOperation> AddContactInList()
{
final ArrayList<ContentProviderOperation> contacts = new ArrayList<ContentProviderOperation>();
final int rawContactInsertIndex = contacts.size();
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(mContext);
// TODO Auto-generated method stub
contacts.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, preference.getString("accountKey",null))
.withValue(RawContacts.ACCOUNT_NAME, preference.getString("emailKey",null)).build());
//Add Name
contacts.add(ContentProviderOperation
.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID,0 )
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, FirstName+" "+LastName)
.build());
//Add Phone Number
contacts.add(ContentProviderOperation
.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, 0)
.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, PhoneNumber)
.withValue(Phone.TYPE, Phone.TYPE_MOBILE)
.build());
return contacts;
}
}
public class Contact
{
public static void addContact(Activity pyActivity, String name, String phone, String email)
{
ContactAdd Contact = new ContactAdd(name, name, phone, pyActivity.getApplicationContext());
ArrayList<ContentProviderOperation> contacts = Contact.AddContactInList();
try {
ContentProviderResult[] res = pyActivity.getContentResolver().applyBatch(ContactsContract.AUTHORITY, contacts);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
logcat:
jnius.jnius.JavaMethod.__call__
10-22 11:40:22.245 32726 32753 I python : File "jnius/jnius_export_class.pxi", line 1045, in jnius.jnius.JavaMethod.call_staticmethod
10-22 11:40:22.246 32726 32753 I python : File "jnius/jnius_utils.pxi", line 91, in jnius.jnius.check_exception
10-22 11:40:22.246 32726 32753 I python : jnius.jnius.JavaException: JVM exception occurred: Can't create handler inside thread Thread[SDLThread,5,main] that has not called Looper.prepare() java.lang.RuntimeException
我也会尝试这个代码,它工作,但一个确认窗口出现
public class Contact{
public static void addContact(Activity pyActivity, String name, String phone, String email){
Uri contactUri = Uri.parse(String.format("tel: %s", phone));
Intent i = new Intent(Intents.SHOW_OR_CREATE_CONTACT, contactUri);
i.setType(Contacts.CONTENT_TYPE);
i.putExtra(Intents.EXTRA_FORCE_CREATE, true);
i.putExtra(Intents.Insert.NAME, name);
i.putExtra(Intents.Insert.PHONE, phone);
i.putExtra(Intents.Insert.EMAIL, email);
pyActivity.startActivity(i);
}
}
公共ContactAdd(字符串第一,字符串最后,字符串电话,上下文上下文)
这个构造函数用于什么?
不能使用new
运算符启动活动。
必须使用意图创建活动。
如果您不需要活动的功能,那么不要从活动扩展。
问题内容: 我收到此错误“无法在未调用Looper.prepare()的线程内创建处理程序” 你能告诉我如何解决吗? StartPayment方法: 问题答案: 您应该知道,当您尝试修改UI时, 唯一 可以执行此操作的线程是。 因此,如果要在另一个线程中修改UI,请尝试使用以下方法: 您的代码应如下所示:
问题内容: 我正在使用AsyncTask调用yahooweather API。以下是代码: } 调试代码后,我发现yahooAPI调用成功,并且可以在函数中看到XML响应。但是,一旦执行完此功能,就会引发异常: 请帮帮我。 问题答案: 从方法中删除所有Toast的from,因为此方法是从of 调用的,并且您无法从后台线程访问Toast等Ui元素(也是Ui元素)。 注意: 如果您想知道后台发生了什么
我在android中点击添加学生时出错了
问题内容: 我不明白为什么会收到此错误。我正在使用AsyncTask在后台运行一些进程。 我有: 当我根据情况进入时: 每当我尝试我都会收到错误消息。 有想法吗? 问题答案: 该方法必须从被调用用户界面(UI)螺纹,而在不同的螺纹,其是主要的原因,运行被设计。 你必须调用无论是在或。 例如:
错误: I/flutter(1615)://data/user/0/com.example.camera_app/app_flutter/2020-05-29 23:35:12.398628.PNG I/flutter(1615):Going Image I/flutter(1615):404 I/flutter(1615):Image Send I/flutter(1615):form come
我正在使用Google Maps V2 API开发一个简单的应用程序,只是为了获得基本知识,我面临着这个错误: 奇怪的是,我可以在我的模拟器(API16)上运行这个应用程序,它运行得很好,但当我试图在物理设备(API15)上运行它时,它得到了这个错误。AsyncTask在单独的类中运行,因此可能会导致此问题。如果有任何建议,我将不胜感激。提前谢了。