小编RuN*_*280的帖子

在Appwidget中的一个视图上使用两个pendingIntent

我有一个widget类(扩展AppWidgetProvider),它在widget的布局中只有一个视图(ImageView).当用户点击小部件时,它会更新并启动一个没有问题的活动.小部件更新后,小部件每30分钟更新一次并启动活动.我的问题是:如何将窗口小部件配置为仅在自动更新时更新自身(而不是通过用户单击)?

这是我的代码:

public class Widget extends AppWidgetProvider {

private static final String ACTION_UPDATE = AppWidgetManager.ACTION_APPWIDGET_UPDATE;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
    ComponentName cn = new ComponentName(context, Widget.class);
    appWidgetManager.updateAppWidget(cn, remoteView(context));
}

@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
    if (intent.getAction().equalsIgnoreCase(ACTION_UPDATE)) {
        ComponentName cn = new ComponentName(context, Widget.class);
        AppWidgetManager.getInstance(context).updateAppWidget(cn,
                remoteView(context));
        Intent launch = new Intent(context, Main.class);
        PendingIntent pi = PendingIntent.getActivity(context, 0, launch, 0);
        try {
            pi.send();
        } catch (CanceledException e) {
            e.printStackTrace();
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

android android-pendingintent android-appwidget

10
推荐指数
1
解决办法
395
查看次数

无法在Room dao界面中使用Completable

我试图Completable在Dao类中使用带@Insert注释的方法,但是在尝试编译项目时,出现了以下错误:

error: Methods annotated with @Insert can return either void, long, Long, long[], Long[] or List<Long>.
public abstract io.reactivex.Completable insert(@org.jetbrains.annotations.NotNull()
Run Code Online (Sandbox Code Playgroud)

这是我的相关代码:

@Insert
fun insert(kanal: Kanal): Completable
@Update
fun update(kanal: Kanal): Completable
@Delete
fun delete(kanal: Kanal): Completable
Run Code Online (Sandbox Code Playgroud)

而我的依赖:

def room_version = "1.1.1"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
implementation "android.arch.persistence.room:rxjava2:$room_version"
implementation 'io.reactivex.rxjava2:rxkotlin:2.2.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
Run Code Online (Sandbox Code Playgroud)

根据此链接,它得到Room的支持。

kotlin rx-java android-room

5
推荐指数
1
解决办法
2379
查看次数