如何判断mainactivity是否是通过widget启动的
时间: 2023-09-08 16:08:54 浏览: 110
可以通过在 MainActivity 的 Intent 中添加一个标志来判断 MainActivity 是否是通过 Widget 启动的。具体方法如下:
1. 在 AppWidgetProvider 的 onUpdate() 方法中创建 Intent 对象,并添加一个自定义的标志。例如:
```java
Intent intent = new Intent(context, MainActivity.class);
intent.putExtra("widget_click", true);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.widget_button, pendingIntent);
```
这里的 "widget_click" 是你自定义的标志。
2. 在 MainActivity 的 onCreate() 方法中获取 Intent,判断标志是否存在,如果存在则说明是从 Widget 启动的。例如:
```java
boolean isFromWidget = getIntent().getBooleanExtra("widget_click", false);
if (isFromWidget) {
// 从 Widget 启动
} else {
// 从其他方式启动
}
```
这样就可以判断 MainActivity 是否是从 Widget 启动的了。
阅读全文