我们想要创建一个Unity应用程序,包括App Widgets。 但是我们找不到那个样本。
应用小工具 https://developer.android.com/guide/topics/appwidgets/index.html
我们知道如何在原生应用中制作App Widgets。 但我们不知道如何在Unity应用程序中包含App Widgets。
我们有两个问题。
首先,我想知道如何从Android端检索Unity的PlayerPrefs中保存的内容。
其次,如何在Unity应用程序中包含AppWidgets。
我们尝试了示例来展示Toast。 但我不知道如何包含AppWidgets。
答案 0 :(得分:0)
首先,我想知道如何从Android端检索Unity的PlayerPrefs中保存的内容。
"在Android数据上存储(保留)在设备上。数据保存在SharedPreferences中。 C#/ JavaScript,Android Java和Native代码都可以访问PlayerPrefs数据。 PlayerPrefs数据物理存储在/data/data/pkg-name/shared_prefs/pkg-name.xml."所以猜你从那里拿到它?
来源:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
其次,如何在Unity应用程序中包含AppWidgets。
我相信下面链接中的解决方案可能会帮助您做到这一点。不完全确定,但我会评估它。
https://forum.unity.com/threads/using-unity-android-in-a-sub-view.98315/
答案 1 :(得分:0)
※Unity版本:2018.2.17f1
Export Project
和Development Build
.gradle .idea build gradle...
的文件夹import project (Gradle, Eclipse ADT, etc.)
您可以在Android Studio的项目浏览器中找到Project Folder/java/UnityPlayerActivity.java
。此类在Android端执行Unity应用程序,因此您应在此处编写用于检索PlayerPrefs的代码。示例代码如下:
public class UnityPlayerActivity extends Activity
{
protected SharedPreferences mPlayerPrefs = null;
@Override protected void onCreate(Bundle savedInstanceState)
{
// generated code
this.mPlayerPrefs = this.getSharedPreferences(this.getPackageName() + ".v2.playerprefs", Context.MODE_PRIVATE);
}
// generated code
}
剩下的工作就是使用SharedPreferences,而不是PlayerPrefs。是的
例如...
int a = this.mPlayerPrefs.getInt("key", -1);
if(a == -1)
{
Log.d("MyLog", "getInt(key) failed !");
}
else
{
// some code
}
这很简单。只需在Android Studio上打开项目文件夹的状态下,选择File -> New -> Widget -> App Widget
,您将看到Widget向导。向导之后,您的Unity Application可以作为小部件位于主屏幕中。剩下的工作全是关于窗口小部件编程的...; D