我有一个widget类和一个更新小部件的服务类。
我在onUpdate()的widget类中添加了以下代码:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.countdownwidget);
Intent Intent1 = new Intent(Intent.ACTION_MAIN);
Intent1.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent1 = PendingIntent.getActivity(context, 0, Intent1, 0);
views.setOnClickPendingIntent(R.id.button1, pendingIntent);
Intent Intent2 = new Intent(Intent.ACTION_MAIN);
Intent2.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent2 = PendingIntent.getActivity(context, 0, Intent2, 0);
views.setOnClickPendingIntent(R.id.button2, pendingIntent2);
我还在onStart()
的widget服务中添加了以下代码 Intent Intent1 = new Intent(Intent.ACTION_MAIN);
Intent1.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent1 = PendingIntent.getActivity(getApplicationContext(), 0, Intent1, 0);
remoteView.setOnClickPendingIntent(R.id.button1, pendingIntent1);
Intent Intent2 = new Intent(Intent.ACTION_MAIN);
Intent2.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent2 = PendingIntent.getActivity(getApplicationContext(), 0, Intent2, 0);
remoteView.setOnClickPendingIntent(R.id.button2, pendingIntent1);
我遇到的问题是,一旦隐含意图注册应用程序以在button1上启动,button2与button1相同。如何使2个意图表现不同?即注册和启动不同的应用程序。它使用一个按钮,但另一个按钮启动第一个按钮相同的东西。我一直在寻找让这个工作在上一周,阅读的东西,但没有结果。 我很感激你的帮助。 感谢。
答案 0 :(得分:0)
我遇到的问题是,一旦隐含意图注册应用程序以在button1上启动,则按钮2 与button1相同。
嗯,当然。您Intents
的所有四个都是相同的:ACTION_MAIN
,CATEGORY_LAUNCHER
,没有指定任何其他内容。我很惊讶Intent
即使有效。
因此,让按钮做不同事情的第一步是实际上有不同的Intents
。
另外,请不要使用getApplicationContext()
。只需使用this
,因为Service
是Context
。