Android-可点击小部件-在模拟器上工作,但在手机上不工作
我尝试在android上创建可点击的小部件。我在这个网站上寻找解决方案,我找到了它,但最后这个小部件只能在模拟器上工作——不能在真正的手机上工作。这是我的代码: AppWidgetProvider:Android-可点击小部件-在模拟器上工作,但在手机上不工作,android,widget,emulation,clickable,Android,Widget,Emulation,Clickable,我尝试在android上创建可点击的小部件。我在这个网站上寻找解决方案,我找到了它,但最后这个小部件只能在模拟器上工作——不能在真正的手机上工作。这是我的代码: AppWidgetProvider: public static String WIDGET_BUTTON = "apps.test.widget.WIDGET_BUTTON"; @Override public void onUpdate(Context context, AppWidgetManager appWidgetMana
public static String WIDGET_BUTTON = "apps.test.widget.WIDGET_BUTTON";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.main);
Intent clickIntent = new Intent(WIDGET_BUTTON);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
clickIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.imageView1, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, views);
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (WIDGET_BUTTON.equals(intent.getAction())) {
Toast.makeText(context, "asdfsdgdasfg", Toast.LENGTH_SHORT).show();
}
}
舱单:
<application
android:allowBackup="true"
android:icon="@drawable/image"
android:label="@string/app_name" >
<receiver
android:name=".Widget"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="apps.test.widget.WIDGET_BUTTON"/>
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/test_widget_provider" />
</receiver>
</application>
Toast会出现在模拟器上,但不会出现在手机上。好的,不用担心。
我不得不将手机重置为出厂设置。我不知道出了什么问题。这是一个常见的问题,我的手机曾经出现过几次,如果应用程序安装在SD卡上而不是内部存储器上,则小部件不会出现在列表中, 您只需进入设置->应用->查找应用,然后选择将其从android自身移动到内部存储的选项 [ 还有另一种在清单中声明为android的方法:externalstorage(语法不正确),它也可以工作(虽然我找不到答案的链接,但我还没有尝试)