如何确定打印作业是否完成?

时间:2017-11-24 12:37:17

标签: java android printing android-sdk-tools

在我的Android应用中,我正在尝试打印PDF文档,一切正常,这是我当前打印文件的片段

public class GPSData extends AppCompatActivity {

    GPSDatabase gpsDatabase;
    GPSLocation gpsLocation;
    Button saveDataD, fetchDataD;

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

        saveDataD = findViewById(R.id.saveDataD);
        fetchDataD = findViewById(R.id.fetchDataD);

        gpsDatabase = new GPSDatabase(this);

        saveDataD.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                insertDataInDB();

            }
        });

        fetchDataD.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fetchDataFromDB(1);
            }
        });

    }

    private void fetchDataFromDB(long i) {

        try {
            gpsLocation = gpsDatabase.readGPSLocation(i);
            Log.e("gpsLocation", "" + gpsLocation.getNumber());
            Log.e("gpsLocation", "" + gpsLocation.getDistance());
            Log.e("gpsLocation", "" + gpsLocation.getLatitude());
            Log.e("gpsLocation", "" + gpsLocation.getLongitude());

        } catch (Exception e) {
            Log.e("insertDataInDB", e.getMessage());
        }

    }

    private void insertDataInDB() {
        try {
            gpsLocation = new GPSLocation(1, 10, 10.5, 10.5);
            gpsDatabase.createGpsLocation(gpsLocation);
        } catch (Exception e) {
            Log.e("insertDataInDB", e.getMessage());
        }


    }

}

但是当打印完成后,我想运行一个方法返回到应用程序的上一个视图,所以我需要抓住它在打印作业完成时触发的事件,有人可以解释如何做或者任何代码片段都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我同意CommonsWare评论,打印作业可能需要很长时间,并且在某些情况下可能会无限期地处于“阻止”状态。 对于记录,onFinish()回调应该适用于正常的打印成功案例。