簡體   English   中英

onActivityResult的結果代碼始終為-1

[英]onActivityResult always got -1 as resultcode

我嘗試使用MediaProjectionManager捕獲屏幕截圖。 我要做的第一步是鍵入以下代碼行:

MediaProjectionManager projectionManager = (MediaProjectionManager)this.getContext().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(projectionManager.createScreenCaptureIntent(), 1);

然后,我希望使用onActivityResult(int requestCode, int resultCode, Intent data)函數進行響應。 但是,我發現resultCode始終為-1,並且數據始終包含null uri和null mData。 就像沒有圖像內容傳遞給onActivityResult

有誰知道是什么引起了這個問題,或者如何從數據中檢索屏幕截圖?

任何幫助深表感謝!

只需查看Activity.RESULT_OK。

public static final int RESULT_OK = -1;

因此,如果您的resultCode中為-1,則表示您很好。

閱讀MediaProjectionManager文檔后的下一步

我讀到您需要調用getMediaProjection。 嘗試在onActivityResult中調用getMediaProjection方法,並為其提供resultCode和resultData。

要獲得基本示例,請查看以下代碼=> MediaProjectionManager use

希望它可以幫助您!

如果requestcode提供了一些輸出,您必須檢查resultcode,則requestcode始終為-1,像這樣1

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        switch (requestCode) {
            case 1:
                    //do your stuff
                break;


        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM