活动尚未开始,无法解决意图{act =“ android.search.action.GLOBAL_SEARCH”}

时间:2019-02-07 12:57:20

标签: android search provider assistant

在执行在设备上执行搜索查询的adb命令期间,我在使用Google协助时遇到了奇怪的行为:

adb shell am start -a “android.search.action.GLOBAL_SEARCH” --es query \“football\”

结果是:

Activity not started, unable to resolve Intent { act="android.search.action.GLOBAL_SEARCH" ...

然后没有搜索项。

terminal screenshot

关闭设备“开发人员选项”然后再打开时,该错误消失。

我们在清单中注册了这样的搜索提供程序:

<provider android:name="com.ourcompany.cordova.plugins.search.SearchProvider" android:authorities="com.ourcompany.cordova.plugins.search" android:exported="true">
    <path-permission android:pathPrefix="/search" android:readPermission="android.permission.GLOBAL_SEARCH"/>
</provider>

Android 8.0.0,API 26,NVidia Shield

有什么想法可能会发生此错误?

1 个答案:

答案 0 :(得分:0)

删除“'android.search.action.GLOBAL_SEARCH”的引号,然后尝试如下操作:

private ArrayList<String> names = new ArrayList<String>();

private ArrayList<FirstLevel> FirstLevelDataAdapterClassList;

private int selectedFirstLevel;
...
public void FIRST_LEVEL_WEB_CALL(final ViewHolder viewHolder) {

    //showSimpleProgressDialog(context, "Loading...", "Fetching Json", false);
    JsonArrayRequest jsArrRequest = new JsonArrayRequest
            (Request.Method.GET, HTTP_SERVER_URL, null, new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    FIRST_PARSE_DATA_AFTER_WEBCALL(response,viewHolder);
                    Log.i("FL", "FL");
                    //removeSimpleProgressDialog();

                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // TODO Auto-generated method stub

                }
            }) {

    };

    requestQueue2 = Volley.newRequestQueue(context);
    requestQueue2.add(jsArrRequest);

}
public void FIRST_PARSE_DATA_AFTER_WEBCALL(JSONArray array, final ViewHolder viewHolder) {

    FirstLevelDataAdapterClassList = new ArrayList<>();

    FirstLevel GetFirstLvDataModel = new FirstLevel();

    for (int i = 0; i < array.length(); i++) {

        JSONObject json = null;
        try {
            json = array.getJSONObject(i);
            GetFirstLvDataModel.setId(json.getString("id"));
            GetFirstLvDataModel.setName(json.getString("name"));
            FirstLevelDataAdapterClassList.add(GetFirstLvDataModel);
            names.add(FirstLevelDataAdapterClassList.get(i).getTitle().toString());

        } catch (JSONException e) {

            e.printStackTrace();
        }

        ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, simple_spinner_item, names);
        spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
        viewHolder.spinFirst.setAdapter(spinnerArrayAdapter);

        viewHolder.spinFirst.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


         selectedFirstLevel=FirstLevelDataAdapterClassList.get(position).getId();

                Log.i("FLFL",selectedFirstLevel);
                SECOND_LEVEL_WEB_CALL(viewHolder,selectedFirstLevel);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }

}