小编Maj*_*odi的帖子

Android Widget onReceive无法调用Service类?

我有一个widgetProvider.我还有一个服务类来完成小部件的计算.

小部件在初始化时运行正常.当我尝试在我想要做出反应的广播事件(时间变化)之后从onReceive方法中调用服务时,我收到错误.

如何在收到广播事件后从onReceive更新小部件?

这是我的小部件

public class HijriWidget extends AppWidgetProvider{


...

        @Override 

        public void onReceive(Context context, Intent intent) {
            if(Intent.ACTION_TIME_CHANGED.equals(intent.getAction())||Intent.ACTION_DATE_CHANGED.equals(intent.getAction())){
                //THE CODE BELOW LEADS TO AN EXCEPTION. HOW CAN I UPDATE THE WIDGET HERE?
                RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget);
                AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
                int appWidgetId = intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);

                appWidgetManager.updateAppWidget(appWidgetId, remoteView);
            }

               super.onReceive(context, intent);

        }

        @Override

        public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {

            for (int appWidgetId : appWidgetIds) {

                PendingIntent updatepending = HijriWidget.makeControlPendingIntent(context,RefreshService.UPDATE, appWidgetId);
                pi = updatepending;
                try {
                    updatepending.send();
                } …
Run Code Online (Sandbox Code Playgroud)

android widget

7
推荐指数
1
解决办法
5598
查看次数

如何将Android小部件中的字体更改为应用程序"assets"文件夹中的用户定义字体?

我想更改我的小部件中的字体,以便它使用我的应用程序的"assets"文件夹中的特定字体.

我通常在我的应用程序中执行此操作来更改字体:

        Typeface tf= Typeface.createFromAsset(getAssets(), "advertising.ttf");
        TextView converted = (TextView)findViewById(R.id.TextView03);
        converted.setTypeFace(tf);
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力.

我怎么能在小部件中这样做?我只能设置文本并更改颜色:

      remoteView.setTextViewText(R.id.TextView03,"some text" );
    remoteView.setTextColor(R.id.TextView03, Color.BLACK);
Run Code Online (Sandbox Code Playgroud)

但我没有看到设置字体的方法.有什么帮助吗?

fonts android widget

6
推荐指数
1
解决办法
5208
查看次数

标签 统计

android ×2

widget ×2

fonts ×1