我正试图在Daydream模式下调用VrIntent。我用过DaydreamApi。这是我的班级:
public class Menu extends Activity {
private DaydreamApi mDaydreamApi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
mDaydreamApi = DaydreamApi.create(getApplicationContext());
startGame(false);
}
void startGame(boolean multiplayer)
{
mMultiplayer = multiplayer;
Intent intent = DaydreamApi.createVrIntent(new ComponentName(this, MainActivity.class));
if (intent == null) Log.e(TAG,"Error on createVrIntent intent ");
if (mDaydreamApi == null) {
Log.w(TAG, "Error on mDayDreamApi");
startActivity(intent);
}
else {
mDaydreamApi.launchInVr(intent);
}
}
}
在我的Android.manifest.xml
中,我在两个活动中添加了DAYDREAM的意图过滤器。 Menu
是从启动器启动的主要活动。 MainActivity
是白日梦。
<activity
android:name=".Menu"
android:label="@string/app_name"
android:allowBackup="false"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="com.google.intent.category.DAYDREAM" />
</intent-filter>
</activity>
<activity
android:configChanges="orientation|keyboardHidden|screenSize"
android:enableVrMode="@string/gvr_vr_mode_component"
android:label="@string/app_name"
android:name=".MainActivity"
android:resizeableActivity="false"
android:screenOrientation="landscape">
<intent-filter>
<category android:name="com.google.intent.category.DAYDREAM" />
</intent-filter>
</activity>
但是当我运行应用程序时,活动显示此错误:
一开始,我将MainActivity
作为主要活动,并且工作正常。只有当我尝试从错误显示的2D活动中启动它时。
我错过了什么?
答案 0 :(得分:0)
action
的{{1}}错过intent-filter
。这应该可以解决问题:
MainActivity
来源:https://github.com/googlevr/gvr-android-sdk/issues/295#issuecomment-261447175