我正在尝试开发一个内置了白日梦功能的应用程序.我指的是以下教程:
http://www.technotalkative.com/how-to-create-daydream/
在设置>显示> DayDream下,我能够在应用程序列表中看到我的应用程序,但是当我尝试启动它时,没有任何反应.我无法理解出了什么问题.
以下是关于相同的Manifest文件的代码:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service
android:name=".MyDreamService"
android:exported="true"
android:label="Test - DayDream" >
<intent-filter>
<action android:name="android.service.dreams.DreamService" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</service>
</application>
Run Code Online (Sandbox Code Playgroud)
班级档案:
import android.graphics.Color;
import android.service.dreams.DreamService;
import android.widget.TextView;
public class MyDreamService extends DreamService {
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
// Allow user touch
setInteractive(true);
// Hide system UI
setFullscreen(true);
// Set the dream layout
TextView txtView = new TextView(this);
setContentView(txtView);
txtView.setText("Hello DayDream world from TechnoTalkative.com !!");
txtView.setTextColor(Color.rgb(184, 245, 0));
txtView.setTextSize(30);
}
}
Run Code Online (Sandbox Code Playgroud) 刚刚开始玩A-Frame,我可以看到vive-controls和oculus-touch-controls但谷歌白日梦没什么.
我看过组件回购,但看不到任何看起来像它的工作.现在最接近调查的是游戏手柄API,但我很惊讶我找不到任何东西.
我有一个Pixel XL和白日梦,想要整合控制器,而不仅仅是头部跟踪和基于凝视的控制.请有人指出我正确的方向.
谢谢
更新 - 我让Daydream控制器为点击工作!运行360图像库(https://aframe.io/examples/showcase/360-image-gallery/)接受来自Daydream控制器的点击.我想也许它已经超时我以前的尝试或我没有正确配对!我会一直玩!
我有一项服务,尤其是 Android Daydream DreamService,已在我的AndroidManifest.xml文件中声明。当我的应用加载时,Android 检测到此声明并将我的应用作为选项添加到用户可以在其设置中选择的 Daydreams 列表。我声明Service如下...
<service android:name=".daydream.DaydreamService" android:exported="true"
android:icon="@drawable/icon" android:label="@string/app_name" >
<intent-filter>
<action android:name="android.service.dreams.DreamService" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.service.dream"
android:resource="@xml/daydream" />
</service>
Run Code Online (Sandbox Code Playgroud)
我想看看是否有一种方法可以有条件地以Service编程方式加载此声明。换句话说,我只想根据一些程序逻辑来声明这一点DreamService。我不希望 Android 列出或什至知道我的应用程序的 Daydream 功能,除非我以编程方式启用它。
这样的事情可能吗?
我在编译时收到此错误.commandInvokationFailure:无法合并android清单.有关详细信息,请参阅控制台./Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir ="/ Users/Nick/Library/Android/sdk/tools"-Dfile.encoding = UTF8 -jar"/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar" -
标准错误[
] stdout [警告:[Temp/StagingArea/AndroidManifest-main.xml:14,/ Users/Nick /Desktop/OtherVR/Temp/PlacesArea/installer -libraries/gvr-permissionsupport-release/AndroidManifest.xml:3]主要清单有但是库使用了targetSdkVersion = '24'] UnityEditor.Android.Command.Run(System.Diagnostics.ProcessStartInfo psi,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)UnityEditor.Android.AndroidSDKTools.RunCommandInternal(System.String javaExe,System .String sdkToolsDir,System.String [] sdkToolCommand,Int32 memoryMB,System.String workingdir,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)UnityEditor.Android.AndroidSDKTools.RunCommandSafe(System.String javaExe,System.String sdkToolsDir,System .String [] sdkToolCommand,Int32 memoryMB,System.String workingdir,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)UnityEditor.HostView:OnGUI()
我正在为Google Daydream(移动VR平台)创建游戏,并使用不同的代码在编辑器和目标版本中加载和保存数据。我的保存功能如下所示:
public void SaveData() {
XmlSerializer serializer = new XmlSerializer(typeof(ItemDatabase));
FileStream stream;
#if UNITY_ANDROID
stream = new FileStream(Application.persistentDataPath + "/game_data.xml", FileMode.Create);
serializer.Serialize(stream, gameDB);
stream.Close();
Debug.Log("Data Saved[Android]");
#endif
#if UNITY_EDITOR
stream = new FileStream(Application.dataPath + "/StreamingAssets/XML/game_data.xml" , FileMode.Create);
serializer.Serialize(stream, gameDB);
stream.Close();
Debug.Log("Data Saved[Editor]");
#endif
}
Run Code Online (Sandbox Code Playgroud)
当我在编辑器中运行它时,我同时获得了android和编辑器的日志,因此这两个部分都被执行了。这是否可以归因于Unity仿真智能手机(每次我在编辑器中玩游戏时,都会收到以下警告:“在编辑器模式下不支持VRDevice白日梦。请在目标设备上运行。”?