onActivityResult 標記為已過時

2022-10-09 21:51:29 字數 1786 閱讀 8171

onactivityresult  雖然標記為已過時 不過暫時還可以使用

/*

onactivityresult 已經標記為已過時

點選super.onactivityresult檢視原始碼,可以看見官方已經給了新的使用替換方式

使用registerforactivityresult 方法 注意是乙個final方法 返回activityresultlauncher型別

初始化為乙個常量使用,注意沒法直接區分請求型別

我們可以使用乙個activityresultlauncher常量就對應乙個型別的請求

比如我這裡 相簿選擇**、拍照**、系統裁剪** 定義三個 activityresultlauncher 常量 分別對三種**的處理

呼叫activityresultlauncher.launch(intent)

*///

override fun onactivityresult(requestcode: int, resultcode: int, data: intent?)

-> c=$ action=$")

//if (data?.data != null) else //}

-> c=$ action=$")

//if (data?.data != null) else //}

//} ->

//else -> //}

//}

使用 registerforactivityresult 處理activity返回**

/**

* 2022-03-30 15:48

* 選擇相簿(相簿)**

*/private val galleryregisteractivity =registerforactivityresult(activityresultcontracts.startactivityforresult()) $")

if (it.resultcode ==activity.result_ok) c=$")

if (it.data?.data != null

) else}}

/*** 2022-03-30 15:54

* 拍照**

*/private val cameraregisteractivity =registerforactivityresult(activityresultcontracts.startactivityforresult()) $")

if (it.resultcode ==activity.result_ok)

else

}}

呼叫相簿

val intent =intent(intent.action_pick)

//val intent = intent(intent.action_get_content)

//intent隱式呼叫啟動相簿介面

= "image/*"

//設定資料型別

intent.setdataandtype(mediastore.images.media.external_content_uri, "image/*")

if (build.version.sdk_int >=build.version_codes.n)

//startactivityforresult(intent, camerastatus.gallery_request_code)

//上面的方法過時了,使用替代方法

galleryregisteractivity.launch(intent)

Objc中將方法標記為deprecated

在objc中如果乙個方法我們希望不再繼續被使用,但又不能刪掉,那麼可以標記為deprecated 在方法或屬性的宣告後 類的宣告前加 attribute deprecated desc string 例 幫助 1 2 3 4 5 6 7 8 property nonatomic,strong nss...

Matlab 將目標邊緣標記為紅色

首先讀取影象,採用canny運算元提取目標的邊緣,在原影象中將邊緣部分設定為白色,然後建立三通道影象,將目標的邊緣部分設定成紅色 其他顏色也可以 如下 close all clear clc i imread rice.png figure subplot 221 imshow i j edge i...

嘗試資料庫被標記為RESTORING的處理方式

嘗試資料庫被標記為restoring的處理方式 by select left claro 2 in 西安,2009 03 27 00 29 23.450 microsoft sql server 2005 9.00.1406.00 intel x86 mar 3 2007 18 40 02 ente...