如何使用Unity制作App小部件

时间:2018-02-19 08:57:48

标签: android unity3d android-widget unity5

我们想要创建一个Unity应用程序,包括App Widgets。 但是我们找不到那个样本。

应用小工具 https://developer.android.com/guide/topics/appwidgets/index.html

我们知道如何在原生应用中制作App Widgets。 但我们不知道如何在Unity应用程序中包含App Widgets。

我们有两个问题。

首先,我想知道如何从Android端检索Unity的PlayerPrefs中保存的内容。

其次,如何在Unity应用程序中包含AppWidgets。

我们尝试了示例来展示Toast。 但我不知道如何包含AppWidgets。

2 个答案:

答案 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

任务前

  • 导出Android版本,并选中Export ProjectDevelopment Build
  • 然后您将获得一个包含.gradle .idea build gradle...的文件夹
    (我必须将此文件夹称为“项目文件夹”)
  • 打开Android Studio并选择import project (Gradle, Eclipse ADT, etc.)
  • 在文件资源管理器中,您应该选择项目文件夹

1。如何从Android端检索Unity PlayerPrefs

您可以在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
}

2。如何在Unity Application中包含AppWidget

这很简单。只需在Android Studio上打开项目文件夹的状态下,选择File -> New -> Widget -> App Widget,您将看到Widget向导。向导之后,您的Unity Application可以作为小部件位于主屏幕中。剩下的工作全是关于窗口小部件编程的...; D