我正在构建一项服务,将安装的应用程序列表从Android TV或Fire TV发送到手机.然后,手机会发回它想要启动的应用程序的程序包名称,然后服务就会启动它.
这是创建列表的代码
public List<InstalledApp> GetInstalledApps(boolean isAndroid) {
PackageManager pm = getPackageManager();
List<ApplicationInfo> allPackages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
List<InstalledApp> userPackages = new ArrayList<InstalledApp>();
for (ApplicationInfo packageInfo : allPackages) {
if (isSystemPackage(packageInfo)) continue;
InstalledApp app = new InstalledApp();
app.setPackageName(packageInfo.packageName);
app.setAppName(pm.getApplicationLabel(packageInfo).toString());
if (!isAndroid) {
app.setIcon(pm.getApplicationIcon(packageInfo));
}
app.setAccentColor(getAccentColor(pm.getApplicationIcon(packageInfo)));
userPackages.add(app);
}
return userPackages;
}
Run Code Online (Sandbox Code Playgroud)
这就是我启动应用程序的方式
public void launchApp(String packageName) {
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(packageName);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
在Fire TV上,一切都很完美,但在Android TV上,许多应用程序的意图始终为空.这些才一点点.
但是使用相同的代码,这些应用程序工作正常.
谁能提供任何有关我可能做错的见解?
谢谢!
编辑: …
在Windows Phone 8.0 Silverlight中,我可以在我的XAML页面中拍摄图像,并使用以下Storyboard将其完全旋转一次.
<Storyboard x:Name="rotate_searching_image">
<DoubleAnimation AutoReverse="False"
Duration="0:0:10"
From="0"
RepeatBehavior="1x"
Storyboard.TargetName="searching_image"
Storyboard.TargetProperty="Angle"
To="360" />
</Storyboard>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在我的新Windows Phone 8.1运行时应用程序中执行相同的操作,但是我收到一条错误消息,指出Angle无法找到该属性.如果我更改TargetPropertyto Opacity和更新From以及To适当的值,一切正常.
我看了看UIElement,找不到任何让我设置角度的属性或方法.
任何帮助,将不胜感激.