gpt4 book ai didi

android - 从另一个 Activity 检查 AsyncTask 的状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:47 24 4
gpt4 key购买 nike

我正在使用 AsyncTask 将图像转换为 base64 值。任务在后台运行,应用程序移至下一个 Activity 。我如何检查 AsyncTask 的状态以检查它是否完成...

我的异步任务代码...

public class Asyncimg extends AsyncTask<Void, Integer, String>
{
//for converting images to base64

protected void onPreExecute (){
//disbaling sync button on converting pic to base64

}

protected String doInBackground(Void...arg0) {
Cursor cursor = mydb.getDat1();
//fetching the image location
cursor.moveToFirst();
while (!cursor.isAfterLast()) {

for( int i=0 ; i< 1 ; i++ )
{
if( cursor.getColumnName(i) != null )
{
try
{

if( cursor.getString(i) != null )
{
//saving image to bitmap
Bitmap bitmap = BitmapFactory.decodeFile(cursor.getString(cursor.getColumnIndex(DBHelper.PHOTO)));
//converting it to base64
String en= encodeToBase64( resize(bitmap,1080,1920), Bitmap.CompressFormat.JPEG,50);

Log.d("base",en);
//inserting it to table pic
mydb.insertpic(cursor.getInt(1),en);
}

}
catch( Exception ignored)
{

}
}
}
cursor.moveToNext();
}

cursor.close();
mydb.updatebin();
return null;
}
protected void onPostExecute(String result) {

}
}

我如何从另一个 Activity 中检查它的状态?

最佳答案

方式一:

创建一个 Constance 类 并更改该类的值并在另一个 Activity 中检查新值

方式二:

使用 Intent 并将数据和值放入 extras 然后调用 activity

方式三:

创建和使用接口(interface)监听器

方式四:(看起来不错)

使用 EventBus 库:https://github.com/greenrobot/EventBus

任何时候你需要通过 sen 通知另一个 Activity :

    EventBus.getDefault().post("notify param"); 

然后在另一个 Activity 中处理通知:

    @Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent("notify param") {/* Do something */};

(有关使用 EventBus 的更多详细信息,请参阅 library documents on github)

关于android - 从另一个 Activity 检查 AsyncTask 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com