android widget 发送广播,Android Widget点击和广播接收器不工作

下面的代码应该描述一个应用程序,一旦点击了widget按钮,它就会发送一个应由TestReceiver接收的意图.但是,在运行我的下面的代码时,永远不会调用TestReceiver的onReceive.

有人能让我知道我做错了什么吗?

小部件代码

public class Widget extends AppWidgetProvider {

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

final int N = appWidgetIds.length;

// Perform this loop procedure for each App Widget that belongs to this provider

for (int i=0; i

int appWidgetId = appWidgetIds[i];

// Create an Intent to launch ExampleActivity

//Intent intent = new Intent(context.getApplicationContext(), TestReceiver.class);

Intent intent = new Intent();

intent.setAction(TestReceiver.TEST_INTENT);

intent.setClassName(TestReceiver.class.getPackage().getName(), TestReceiver.class.getName());

PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

// Get the layout for the App Widget and attach an on-click listener to the button

RemoteViews views;

views = new RemoteViews(context.getPackageName(), R.layout.main);

views.setOnClickPendingIntent(R.id.btnTest, pendingIntent);

// Tell the AppWidgetManager to perform an update on the current App Widget

appWidgetManager.updateAppWidget(appWidgetId, views);

}

}

}

接收代码:

public class TestReceiver extends BroadcastReceiver {

public static final String TEST_INTENT= "MyTestIntent";

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Toast.makeText(context, "Test", Toast.LENGTH_SHORT);

if(intent.getAction()==TEST_INTENT)

{

System.out.println("GOT THE INTENT");

Toast.makeText(context, "Test", Toast.LENGTH_SHORT);

}

}

}

表现:

package="com.test.intenttest"

android:versionCode="1"

android:versionName="1.0">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值