app widget对于intent一个android原生的应用可以这样(以AlarmClock为例):
Intent intent = new Intent();
intent.setClassName("com.android.alarmclock",--------包名--------
"com.android.alarmclock.AlarmClock"-------应用名-------);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | iintent.FLAG_ACTIVITY_MULTIPLE_TASK);
PendingIntent Pend = PendingIntent.getActivity(context, 0, intent, 0);
updateViews.setOnClickPendingIntent(R.id.***-----appwidget组件名------, Pend));
if (appWidgetIds != null) {
appWidgetManager.updateAppWidget(appWidgetIds, updateViews);
} else {
//final AppWidgetManager gm = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context,
**WidgetProvider.class-----当前的widgetprovider-----);
appWidgetManager.updateAppWidget(thisWidget, updateViews);
}
而对于intent一个自己创建的应用可以这样:
Intent intent = new Intent("com.android.*****");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
PendingIntent Pend = PendingIntent.getActivity(context, 0, intent, 0);
updateViews.setOnClickPendingIntent(R.id.***-----appwidget组件名------, Pend);
if (appWidgetIds != null) {
appWidgetManager.updateAppWidget(appWidgetIds, updateViews);
} else {
//final AppWidgetManager gm = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context,
**WidgetProvider.class);
appWidgetManager.updateAppWidget(thisWidget, updateViews);
}
注意:在使用第二种方法的时候,必须在manifest文件中要启动的activity中加入如下代码:
<intent-filter>
<action android:name="com.android.***" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
app widget intent到另一个应用的方法
最新推荐文章于 2021-04-08 18:49:46 发布