我正在尝试拨打联系人选择器,将人名,电话和电子邮件发送到字符串中,并使用意图将其发送到另一个活动.到目前为止,这工作:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
// ...
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Intent intent = new Intent(CurrentActivity.this, NewActivity.class);
intent.putExtra("name", name);
startActivityForResult(intent, 0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我加入:
String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
Run Code Online (Sandbox Code Playgroud)
它强行关闭
也许是获得他们号码的另一种方式?
有没有人知道在Android上运行的语法高亮库?我看过jsyntaxpane,但似乎并不支持Android.
每当显示通知时,我都会尝试检测我的应用.我已经在设置应用程序中启用它并且onServiceConnected会被调用,但是当我通过gmail应用程序创建通知或接收电子邮件时,onAccessibilityEvent没有任何事情发生,也不会被调用.
Android清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.slide"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<application android:label="Slide"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".Settings"
android:label="Slide">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".Tools"
android:label="Slide"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
<service android:name=".LocalService"/>
<service android:name=".NotificationService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Slide"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
</service>
</application>
Run Code Online (Sandbox Code Playgroud)
NotificationService.java
package com.test.slide;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.view.accessibility.AccessibilityEvent;
public class NotificationService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("onAccessibilityEvent");
if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
System.out.println("notification: " …Run Code Online (Sandbox Code Playgroud) 我想尝试在Android 2.1上的现有联系人添加电话号码.我目前正在使用:
ContentValues values = new ContentValues();
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, selection, null,ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC");
if (cursor.getCount() > 0) {
cursor.moveToPosition(oldcontactid);
contactid = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{contactid}, null);
while (pCur.moveToNext()) {
values.put(Phone.NUMBER,pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
}
pCur.close();
}
}
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values);
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
java.lang.UnsupportedOperationException: Unknown uri: content://com.android.contacts/data/phones
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个问题?
感谢任何帮助,ng93
我有一个ImageView,我正在使用Uri显示联系人图片,它总是看起来像这样:
内容://com.android.contacts/contacts/34/photo
我如何能够检测到这张照片是否存在,就好像它不存在那样我想要使用占位符(存储在我的drawable文件夹中).目前它只显示一个空白图像.
在尝试安装我的Android应用程序时,我曾让用户抱怨"重复的提供程序权限"错误.我最初认为它可能是旧版本干扰新版本,但他们之前从未安装过该应用程序.关于可能导致这种情况的任何建议?
即时测试android SpriteMethodTest,在默认设置画布上获得58fps,而open gl则在50-55fps之间,并且间隙随着更多精灵而变得更大.
我的印象是opengl比画布快,所以这是错的吗?或者他的手机有什么问题(htc欲望)?
http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest/
是否有可能得到一个数组的机器人光标(无论是ArrayList或StringaArray)?
我目前正在PointerMoved页面上捕获事件以使用水平菜单.因此,用户可以向左/向右滑动,页面将相应地设置动画.
这在用户触摸静态元素(TextBlock等)时有效,但如果它们触摸ListView则会捕获触摸事件.
如何实现ListView,以便当用户垂直滚动时,它正常工作,但当用户水平滚动时,它会将事件传递给我的代码?