BaseArFragment

公開抽象類別 BaseArFragment
已知的直接子類別

AR 片段提供一般 AR 功能的必要檢視版面配置和控制器。

巢狀類別

BaseArFragment.OnSessionInitializationListener 在 ARCore 工作階段初始化時叫用。
BaseArFragment.OnTapArPlaneListener 在輕觸 ARCore 平面時叫用。

公用建構函式

公用方法

抽象 String[]
getAdditionalPermissions()
傳回 ARCore 所需的 Manifest 權限應用程式所構成的危險權限陣列。
ArSceneView
getArSceneView()
取得這個片段的 ArSceneView。
PlaneDiscoveryController
getPlaneDiscoveryController()
取得飛機探索控制器,可顯示如何掃描飛機的操作說明。
TransformationSystem
getTransformationSystem()
取得轉換系統,TransformableNode 會使用這個系統偵測手勢,並協調所選節點。
抽象布林值
isArRequired()
如果此應用程式是 AR 必要,則傳回「是」,如果 AR 為「選用」,則傳回「否」。
檢視畫面
onCreateView (LayoutInflater inflater、ViewGroup 容器、Bundle savedInstanceState)
void
void
void
void
onPeekTouch(HitTestResult HitTestResult、MotionEventMotionEvent)
當觸控事件傳送至場景時呼叫。
void
onRequestPermissionsResult(int requestCode, String[] permissions, int[] results)
接收權限要求的結果。
void
void
onUpdate(FrameTime frameTime)
在更新場景前,每個頁框呼叫一次。
void
setOnSessionInitializationListener(BaseArFragment.OnSessionInitializationListener onSessionInitializationListener)
註冊 ARCore 工作階段初始化時叫用的回呼。
void
setOnTapArPlaneListener (BaseArFragment.OnTapArPlaneListener onTapArPlaneListener)
註冊輕觸 ARCore 平面時要叫用的回呼。

保護方法

布林
getCanRequest 危險 Permissions()
如為 true,如果要求權限為 false,requestDangerousPermissions() 會在不採取任何行動的情況下傳回
抽象設定
抽象 Set<Session.Feature>
getSessionFeatures()
指定建立 ARCore Session 的其他功能。
抽象 void
Final void
initSessionSession()
初始化 ARCore 工作階段。
TransformationSystem
makeTransformationSystem()
建立此片段使用的轉換系統。
void
onWindowFocusChanged(布林值 hasFocus)
void
request 危險 Permissions()
開始要求危險權限。
最終布林值
void
setCanRequestazarPermissions (布林值 canRequest 危險 Permissions)
如為 true,如果要求權限為 false,requestDangerousPermissions() 會在不採取任何行動的情況下傳回
void

沿用的方法

公用建構函式

public BaseArFragment()

公用方法

抽象抽象 String[] getAdditionalPermissions ()

傳回 ARCore 所需的 Manifest 權限應用程式所構成的危險權限陣列。如果不需要其他權限,請傳回空的陣列。

publicArSceneViewgetArSceneView()

取得這個片段的 ArSceneView。

公開 PlaneDiscoveryController getPlaneDiscoveryController ()

取得飛機探索控制器,當中顯示如何掃描飛機的操作說明。

publicTransformationSystemgetTransformationSystem()

取得轉換系統,TransformableNode 會使用這個系統偵測手勢,並協調所選節點。

public 抽象布林值布林值 isArRequired ()

如果此應用程式是 AR 必要,則傳回「是」,如果 AR 為「選用」,則傳回「否」。初始化應用程式和工作階段時,系統會呼叫此方法。

public View onCreateView (LayoutInflater inflater、ViewGroup 容器、Bundle savedInstanceState)

參數
啟動者
容器
savedInstanceState

public onDestroy ()

public onDestroyView ()

public onPause ()

public void onPeekTouch (HitTestResult HitTestResult、MotionEventMotionEvent)

當觸控事件傳送至場景時呼叫。必須先叫用回呼,才能叫用 Scene.OnTouchListener。即使已使用手勢,仍會叫用這個事件,因此您可以觀察分派到場景的所有動作事件。即使觸控未位於節點上,系統仍會呼叫此方法,在此情況下,getNode() 會是空值。

參數
HitTestResult 代表輕觸的節點
動作事件 動作事件

public onRequestPermissionsResult (int requestCode, String[] 權限, int[] 結果)

接收權限要求的結果。

開啟對話方塊以要求權限。對話方塊可將使用者傳送至「設定」應用程式,或完成活動。

參數
requestCode
權限
結果

public onContinue ()

public onUpdate (FrameTime frameTime)

在更新場景前,每個頁框呼叫一次。

參數
frametime 提供目前畫格的時間資訊

public setOnSessionInitializationListener (BaseArFragment.OnSessionInitializationListener onSessionInitializationListener)

註冊 ARCore 工作階段初始化時叫用的回呼。系統會在工作階段初始化後及重新啟用前叫用回呼一次。

參數
onSessionInitializationListener 要附加的 BaseArFragment.OnSessionInitializationListener

public setOnTapArPlaneListener (BaseArFragment.OnTapArPlaneListener onTapArPlaneListener)

註冊輕觸 ARCore 平面時要叫用的回呼。只有在使用者未輕觸 Node 時,才會叫用回呼。

參數
onTapArPlaneListener 要附加的 BaseArFragment.OnTapArPlaneListener

保護方法

受保護的 布林值 getCanRequestangerPermissions ()

如為 true,如果要求權限為 false,requestDangerousPermissions() 會在不採取任何行動的情況下傳回

受保護的抽象設定 getSessionConfiguration (工作階段 工作階段)

參數
工作階段

受保護的抽象層 Set<Session.Feature> getSessionFeatures ()

指定建立 ARCore Session 的其他功能。請參閱 Session.Feature

受保護的抽象 void handleSessionException (UnavailableException sessionException)

參數
工作階段例外狀況

受保護的最終無效 initSession ()

初始化 ARCore 工作階段。在檢查 ARCore 的安裝狀態之前,系統會檢查 CAMERA 權限。權限和安裝程序完成後,系統會呼叫 #getSessionConfiguration(工作階段) 方法,取得要使用的工作階段設定。 如要使用場景,就必須使用 LATEST_CAMERA_IMAGE 更新 ARCore 工作階段,以免在繪圖時遭到封鎖。這個模式是在子類別傳回的設定物件上設定。

受保護的 TransformationSystem makeTransformationSystem ()

建立此片段使用的轉換系統。您可以覆寫以建立自訂轉換系統。

受保護的 void onWindowFocusChanged (布林值 hasFocus)

參數
HasFocus

受保護 void request 危險 Permissions ()

開始要求危險權限。這會合併 ARCore 所需的 CAMERA 權限,以及 getAdditionalPermissions() 傳回的任何權限。要求結果不會執行任何特定處理程序,而如果需要進一步處理,子類別可以覆寫 onRequestPermissionsResult()。

setCanRequestDangerousPermissions(Boolean) 可阻止這個函式執行任何動作。

受保護的最終布林值 requestInstall ()

受保護的 void setCanRequestazarPermissions (布林值 canRequest 危險 Permissions)

如為 true,如果要求權限為 false,requestDangerousPermissions() 會在不採取任何行動的情況下傳回

參數
CanRequest ThreatPermissions

受保護的 void setupSelectionRenderable (FootprintSelectionVisualizer selectionVisualizer)

參數
selectionVisualizer