以下是一个使用Android实现久坐提醒的示例代码,包含弹窗提醒功能。

MainActivity.java

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.WindowManager;

public class MainActivity extends Activity {

    private Handler handler;
    private Runnable runnable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 设置全屏显示
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        // 初始化Handler和Runnable
        handler = new Handler();
        runnable = new Runnable() {
            @Override
            public void run() {
                // 显示久坐提醒对话框
                showSitReminderDialog();
            }
        };

        // 开启计时器,每30分钟执行一次提醒
        startTimer(30 * 60 * 1000);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 停止计时器
        stopTimer();
    }

    private void startTimer(int interval) {
        // 取消之前的计时任务
        handler.removeCallbacks(runnable);
        // 开始新的计时任务
        handler.postDelayed(runnable, interval);
    }

    private void stopTimer() {
        // 取消计时任务
        handler.removeCallbacks(runnable);
    }

    private void showSitReminderDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle('久坐提醒');
        builder.setMessage('您已经连续久坐一段时间了,请起身活动一下身体。');
        builder.setPositiveButton('知道了', new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // 继续计时
                startTimer(30 * 60 * 1000);
            }
        });
        builder.setCancelable(false);
        builder.show();
    }
}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <!-- 在布局中添加其他控件 -->

</RelativeLayout>

请注意,这只是一个简单的示例,实际应用中可能需要更复杂的逻辑和界面设计。此外,为了使提醒对话框能够在屏幕上弹出,确保应用具有悬浮窗口权限。

更多关于Android开发的内容,请访问我们的网站。

Android 久坐提醒实现 - 带弹窗提醒 (完整代码)

原文地址: http://www.cveoy.top/t/topic/Qra 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录