Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Android 来自widget提供者的Post-Intent操作_Android_Android Widget_Android Pendingintent_Android Searchmanager - Fatal编程技术网

Android 来自widget提供者的Post-Intent操作

Android 来自widget提供者的Post-Intent操作,android,android-widget,android-pendingintent,android-searchmanager,Android,Android Widget,Android Pendingintent,Android Searchmanager,我想去。单击小部件应打开我的应用程序内的搜索活动。以下是小部件提供程序的onUpdate()中的代码 public void onUpdate(上下文上下文,AppWidgetManager AppWidgetManager,int[]appWidgetIds) { /*因为这个小部件可能有很多小部件实例。我们得到一个数组*/ for(int i=0;i

我想去。单击小部件应打开我的应用程序内的搜索活动。以下是小部件提供程序的onUpdate()中的代码

public void onUpdate(上下文上下文,AppWidgetManager AppWidgetManager,int[]appWidgetIds)
{
/*因为这个小部件可能有很多小部件实例。我们得到一个数组*/
for(int i=0;i
在我的SearchActivity.onCreate()中,我正在检查intent操作作为
intent.action\u SEARCH.equals(this.getIntent().getAction())
。但是,当通过小部件提供程序使用PendingEvent发布意图时,
this.getIntent().getAction()
返回null。当通过SearchManager调用SearchActivity(应用程序的默认SearchManager处理程序)时,它将获得有效的操作,即
android.intent.action.SEARCH

我在等待的意图上做错了什么?

我得到了答案。 因为它表明操作已发布在SearchActivity.OnReceive()中。此外,该操作用于文本框(不用于活动),因此
SearchActivity.getIntent().getAction()
为空

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
    /* as their may be many widget instances for this widget. we get an array. */
    for(int i=0;i< appWidgetIds.length; i++)
    {
        Intent intent = new Intent(context, SearchActivity.class);
        intent.setAction("android.intent.action.SEARCH");
        PendingIntent pdIntent = PendingIntent.getActivity(context, 0, intent, 0);

        RemoteViews view = new RemoteViews(context.getPackageName(), myPackage.R.layout.search_appwidget); 
        view.setOnClickPendingIntent(R.id.search_widget_textbox,pdIntent );
        appWidgetManager.updateAppWidget(appWidgetIds[i], view);
    }

}