Невозможно прочитать данные о намерениях Android на Unity - PullRequest
0 голосов
/ 08 февраля 2019

Я знаю, что это, кажется, уже отвечено, но это не работает со мной, и мне нужно знать, если что-то не хватает.Я потратил некоторое время, но у меня не получилось прочитать дополнительные данные таким образом.Поэтому мне нужно знать, что я что-то упускаю.

Я использую упрощенный подход после того, как не добился успеха после this .

Из плагина Android, который я вызываюэто для запуска приложения Unity:

Intent intent1 = new Intent();

intent1.setAction("com.Company.Alarm.UnityPlayerActivity");

intent1.setFlags(FLAG_ACTIVITY_NEW_TASK);

//intent1.setType("text/plain");

intent1.putExtra("KEY","This is the text message sent from Android");

context.startActivity(intent1);

И в Unity я использую это для получения данных:

string arguments = "";

    AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

    AndroidJavaObject intent = currentActivity.Call<AndroidJavaObject>("getIntent");
    bool hasExtra = intent.Call<bool>("hasExtra", "arguments");

    if (hasExtra)
    {
        AndroidJavaObject extras = intent.Call<AndroidJavaObject>("getExtras");
        arguments = extras.Call<string>("getString", "KEY");
    }
    text.text = arguments;

    Debug.Log("Message Received!!!! :" + arguments);

Но при запуске приложения я не получил никакого значения.Кто-нибудь может сказать, что здесь не хватает или как это исправить?

edit:

    //manifest
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.Company.Alarm" xmlns:tools="http://schemas.android.com/tools" android:installLocation="preferExternal">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:isGame="true" android:banner="@drawable/app_banner">
    <activity android:label="@string/app_name" android:screenOrientation="fullSensor" android:launchMode="singleTask"
        android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"
        android:hardwareAccelerated="false" android:name="com.Company.x.UnityPlayerActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
        <action android:name="com.Company.x.Unity"/>
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>
    <meta-data android:name="unity.build-id" android:value="0e614110-ed04-4c63-b8d5-f8885587d24c" />
    <meta-data android:name="unity.splash-mode" android:value="0" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
  </application>
  <uses-feature android:glEsVersion="0x00020000" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
  <uses-feature
      android:name="android.software.leanback"
      android:required="false" />
</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...