Java 在扩展线程的类内启动活动
我使用ACRA中的一个类来处理应用程序强制关闭时的异常,该类是extends Thread,名为SendWorker.java SendWorker.javaJava 在扩展线程的类内启动活动,java,android,multithreading,runnable,android-handler,Java,Android,Multithreading,Runnable,Android Handler,我使用ACRA中的一个类来处理应用程序强制关闭时的异常,该类是extends Thread,名为SendWorker.java SendWorker.java final class SendWorker extends Thread { private final Context context; private final boolean sendOnlySilentReports; private final boolean approvePendingReports;
final class SendWorker extends Thread {
private final Context context;
private final boolean sendOnlySilentReports;
private final boolean approvePendingReports;
private final CrashReportFileNameParser fileNameParser = new CrashReportFileNameParser();
private final List<ReportSender> reportSenders;
public SendWorker(Context context, List<ReportSender> reportSenders, boolean sendOnlySilentReports, boolean approvePendingReports) {
this.context = context;
this.reportSenders = reportSenders;
this.sendOnlySilentReports = sendOnlySilentReports;
this.approvePendingReports = approvePendingReports;
}
}
这是UploadActivity.java,它扩展了BaseDriveActivity
public class UploadFileActivity extends BaseDriveActivity {
...
}
这是BaseDriveActivity.java
public abstract class BaseDriveActivity extends Activity implements
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener {
...
}
我运行该项目,每次我的应用程序强制关闭时,都会调用SendWorker类,但仍然不会运行处理程序。实际上,我想上传一个文件到谷歌驱动器,其中包含来自我的应用程序的错误bean。
可以在SendWorker类内启动活动吗?摆脱
Looper.prepare()代码>,然后更改
Handler handler = new Handler();
到
或者在UI线程上实例化处理程序
,您需要上下文
。如果您有上下文的实例,那么can@Blackbelt查看我编辑的代码,我已经初始化了最终的variabel上下文
Handler handler = new Handler();
Handler handler = new Handler(Looper.getMainLooper());