Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在android应用程序中搜索联系人_Javascript_Android - Fatal编程技术网

Javascript 无法在android应用程序中搜索联系人

Javascript 无法在android应用程序中搜索联系人,javascript,android,Javascript,Android,在我的应用程序中,我需要搜索电话联系号码,我想选择一个号码,我想保存该号码,然后单击“发送”按钮,消息就会转到该号码。我在这里使用了两个以上的活动,并在其中一个活动中搜索联系人 请任何人都能帮我提前谢谢 这是我的密码 public class SearchNum extends Activity { private TextView resultText; @Override protected void onCreate(Bundle savedInstanceState) { su

在我的应用程序中,我需要搜索电话联系号码,我想选择一个号码,我想保存该号码,然后单击“发送”按钮,消息就会转到该号码。我在这里使用了两个以上的活动,并在其中一个活动中搜索联系人

请任何人都能帮我提前谢谢

这是我的密码

public class SearchNum extends Activity {
private TextView resultText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.searchnum);

    resultText = (TextView)findViewById(R.id.searchViewResult);

    setupSearchView();
}

private void setupSearchView() {
    SearchManager searchManager = (SearchManager)     getSystemService(Context.SEARCH_SERVICE);
    final SearchView searchView = (SearchView) findViewById(R.id.searchView);
    SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName());
    searchView.setSearchableInfo(searchableInfo);
}

@Override
protected void onNewIntent(Intent intent) {
    if  (ContactsContract.Intents.SEARCH_SUGGESTION_CLICKED.equals(intent.getAction())) {
        //handles suggestion clicked query
        String displayName = getDisplayNameForContact(intent);
        resultText.setText(displayName);
    } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        // handles a search query
        String query = intent.getStringExtra(SearchManager.QUERY);
        resultText.setText("should search for query: '" + query + "'...");
    }
}

private String getDisplayNameForContact(Intent intent) {
    Cursor phoneCursor = getContentResolver().query(intent.getData(), null,  null, null, null);
    phoneCursor.moveToFirst();
    int idDisplayName = phoneCursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
    String name = phoneCursor.getString(idDisplayName);
    phoneCursor.close();
    return name;
}
}
我的搜索视图的xml文件是

<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=".SearchNum" >

<SearchView
    android:id="@+id/searchView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true" >
</SearchView>

<TextView
    android:id="@+id/searchViewResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/searchView"
    android:layout_centerHorizontal="true"
    android:text="@string/hello_world" />

</RelativeLayout>

然后,我的xml文件夹中的可搜索文件

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/findContact"
android:hint="@string/findContact"
android:includeInGlobalSearch="true"
android:queryAfterZeroResults="true"
android:searchMode="queryRewriteFromText"
android:searchSettingsDescription="@string/findContact"
android:searchSuggestAuthority="com.android.contacts"
android:searchSuggestIntentAction="android.provider.Contacts.SEARCH_SUGGESTION_CLICKED"
android:searchSuggestIntentData="content://com.android.contacts/contacts/lookup" >

<!-- allow green action key for search-bar and per-suggestion clicks -->
<actionkey
    android:keycode="KEYCODE_CALL"
    android:queryActionMsg="call"
    android:suggestActionMsg="call" />

</searchable>

而且我已经在我的清单文件中获得了许可

<uses-permission android:name="android.permission.READ_CONTACTS" />

在活动中我把

 <action android:name="android.intent.action.SEARCH" />

这是我的元数据

  <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />

您还需要将以下内容添加到清单文件中:

android:launchMode="singleTop"

链接:

为什么这么复杂?看到我的答案了吗