2013-04-26 93 views
-1

我从小工具类中解雇了一个活动,但活动直接打开而不使用小工具,但是我想要当我使用小工具然后打开活动但小工具没有在那里显示请帮助我我从过去两天但目前还没有进展小工具无法正常工作

public class HomeScreen extends AppWidgetProvider { 

@ 
Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    final int N = appWidgetIds.length; 

    for (int i = 0; i < N; i++) { 

     int appWidgetId = appWidgetIds[i]; 

     Intent intent = new Intent(context, MainActivity.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

     RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout); 
     views.setOnClickPendingIntent(R.id.btn_image, pendingIntent); 
     appWidgetManager.updateAppWidget(appWidgetId, views); 

    } 

} 

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.app.om" android:versionCode="1" android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> 
    <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> 
     <activity android:name="com.app.om.MainActivity" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <receiver android:name=".HomeScreen"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 
      <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info" /> 
     </receiver> 
    </application> 
</manifest> 
+0

Widget没有显示在哪里?请更新您的问题,以说明您在设备上所做的以及发生了什么。 – 2013-04-26 10:47:09

+0

@Dan Humble小部件没有在没有小部件的设备上显示,活动已启动。 – 2013-04-26 11:23:11

回答

0

你想要什么

你想窃听你的小部件显示活动

发生了什么事

活动单独启动

解决方案

在你的控件提供者写的属性这样

机器人:configure =“”

,并在这里提供类包将推出

,并从类MAinActivty从您的清单

删除ACTION-MAIN和类别LAUNCHER成绩

现在只有小部件残骸和点击你来你的活动

希望它有助于

+0

在android:configure =“”我必须写“com.app.om.MainActivity”或“com.app.om.HomeScreen” – 2013-04-26 12:06:09

+0

谢谢它的工作 – 2013-04-26 12:19:57

+0

快乐编码:-) – cafebabe1991 2013-04-26 13:26:14

0

安装包提供一个小部件不会自动将小部件添加到主屏幕。用户必须将小部件从应用程序菜单中的小部件列表拖动到主屏幕中的正确位置。

正如@ cafebabe1991所说,如果您不希望主要活动出现在应用程序菜单中,请从清单中删除它的intent-filter