android - 如果从主线程执行方法,如何抛出异常

标签 android multithreading android-asynctask

我有一个具有多种方法的类,可以从 sqlite 数据库中提取数据。我想“强制”此类的用户在线程或异步任务中调用这些方法。

如何阻止方法在主线程上运行?

我想实现类似于当您尝试在 ui 线程上进行一些联网时抛出的 android.os.NetworkOnMainThreadException 的东西。

最佳答案

做类似的事情:

if (Looper.myLooper() == Looper.getMainLooper()) {
   throw new DontDoThisOnUiThreadPleaseException();
}

来源:Looper.getMainLooper()Looper.myLooper() .

关于android - 如果从主线程执行方法,如何抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496920/

相关文章:

android - AsyncTask 线程规则 - 真的只能使用一次吗?

java - 我可以使用 wait 而不是 sleep 吗?

python - 需要将抓取的数据写入csv文件(线程)

Android 异步任务 : async-task for each viewpager fragment

android - 如何在 Firebase 上获取数组数据?

multithreading - 在 Rust 中使用 Mutex 和 Condvar 进行缓冲

android - 在 onPostExecute 中调用 setAdapter 返回空异常

javascript - 无法获取资源 'https://jcenter.bintray.com/com/android/tools/build/gradle/2.1.0/gradle-2.1.0.pom'

Android Camera.takePicture - 可以禁用快门声音和预览表面吗?

java - Android Studio JDK名称错误