来自即时应用程序的应用程序访问资源

时间:2018-04-19 17:34:49

标签: java android android-resources android-instant-apps

我有一个应用程序" Master"安装在手机上。是否可以从其他应用程序访问资源" Slave"作为即时应用?

我知道在2个已安装的应用之间可以使用:

// Also no compiler errors
List<Exception> exceptions = new ArrayList<>();
exceptions.add(new Exception());
exceptions.add(new IOException());
exceptions.add(new FileNotFoundException());

THX

L.E:

我还尝试使用以下方法将数据从即时应用程序发送到已安装的应用程序(从上面反向)

Resources resources = getPackageManager().getResourcesForApplication(packageName);
String slaveAppName = resources.getString(resources.getIdentifier("app_name", "string", packageName));

在AndroidManifest中安装的应用程序:

Intent intent = new Intent("com.test.MainActivity");
intent.putExtra("data","data string");
startActivity(intent);

当我尝试将数据作为已安装的应用程序发送时,一切都很好...但是一旦我构建了即时应用程序.....它崩溃了:

 <intent-filter>
    <action android:name="com.text.MainActivity" />
    <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>

L.E(2)

我还尝试进行测试,以了解使用以下应用构建的手机上安装的应用程序数量:

Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.text.MainActivity (has extras) }

这是一个测试,只是为了确定即时应用版本是否可以触摸&#34;本地手机设置。它的工作原理

1 个答案:

答案 0 :(得分:1)

即时应用可以使用

访问已安装的应用资源
birth.date <- "2018-04-30"

library(lubridate) 
year(birth.date)
当可安装应用程序即时可见时,

代码。

将以下内容添加到已安装的应用中,以使其对即时应用可见:

  • 对于Android O +:Resources resources = getPackageManager().getResourcesForApplication(packageName); String slaveAppName = resources.getString(resources.getIdentifier("app_name", "string", packageName)); 到 成分
  • 对于Android pre-O:android:visibleToInstantApps="true"<meta-data android:name="instantapps.clients.allowed" android:value="true"/>

How to expose component from installed app to be visible to instant app?

的更多详情

要从已安装的应用中获取即时应用元数据,请使用LaunchData API

至于将数据从即时发送到已安装的应用,在预O设备上即时应用崩溃了 <application>,这表明Instant Apps不支持此功能,请参阅Not able to launch Gallery from Android Instant app