小编MH.*_*MH.的帖子

"Samsung Apps"是否支持重定向到特定应用的URI方案?

我的一位客户热衷于在众多流行的三星设备上推广他的完整应用程序的"精简"版本.此精简版将上传至http://www.samsungapps.com,然后用户可以通过"Samsung Apps"应用程序下载.Lite版本具有完整应用程序的应用内链接.

现在,我一直在搜索三星的网站,了解有关三星应用程序可以提取和使用的URI方案的任何信息,以直接向用户呈现完整应用程序的相关详细信息.对于Google Play和亚马逊,您只需使用特定的URI方案和应用的包名称即可启动意图; 例如:

Google Play:

marketIntent.setData(Uri.parse("market://details?id=" + FULL_VERSION_PACKAGE_NAME));
Run Code Online (Sandbox Code Playgroud)

亚马逊:

marketIntent.setData(Uri.parse("http://www.amazon.com/gp/mas/dl/android?p=" + FULL_VERSION_PACKAGE_NAME));
Run Code Online (Sandbox Code Playgroud)

这些都记录在案,非常直接.但是,我无法弄清楚Samsung Apps是否为类似的行为提供了自己的URI方案.

我确实发布了,因为我们在这里谈论Android设备,我可以链接到Google Play.我觉得奇怪的是,三星会提供类似市场的系统而无法链接到那里的特定产品,所以我希望我忽略了一些东西.

有人对此有任何指示吗?请注意,我没有与Samsung Apps兼容的设备来实际测试任何内容.

android android-intent

27
推荐指数
2
解决办法
2万
查看次数

现在AdMob已成为Google Play服务的一部分,如何通过AdRequest提供位置?

随着10月份Google Play服务的更新,AdMob已集成到库中,这意味着Android开发人员不再需要将其包含GoogleAdMobAdsSdk-x.x.x.jar在项目的libs文件夹中.有一个很好的迁移指南,解释了如何迁移com.google.ads.*com.google.android.gms.ads.*.

到现在为止还挺好.迁移是小菜一碟,但......总有一个"但是".

以前,com.google.ads.AdRequest过去常常会有一种setLocation(Location)方法可以增加定位信息.该选项不再适用于该类com.google.android.gms.ads.AdRequest,也不属于Builder同类产品.

我想我的问题是:它在哪里以及为什么会这样?在哪里可能很容易回答,因为它似乎已被删除.我喜欢有人在这里证明我错了,所以如果我忽略了什么,请随时评论.这就是原因.

现在我只能推测它被删除的原因:

  • 当AdMob被重构为成为Google Play服务的一部分时,它被忽略了.
  • 出于隐私问题,Google决定不再支持此功能.
  • 由于AdMob现在是Google Play服务的一部分,或许它与其位置API(即融合位置提供商)集成并自动提供位置信息(如果可用)?

第一种选择似乎不太可能,而第二种选择是可以理解的.不确定第三个,但考虑到隐私的影响,也不太可能.有人可以就此事给出确定的答案,或者指出可靠的来源吗?


注意:是的,我知道文档中的以下注释:

出于对用户隐私的尊重,Google要求您仅指定位置和人口统计数据(如果您的应用已使用该信息).

此问题出现的应用程序已经具有位置感知功能.事实上,它是应用程序的一个相当重要的方面.正如笔记所说,由于应用程序已经使用了用户的位置,因此向其提供广告请求是迄今为止的有效用例.


更新:

随着即将发布的Google Play Services 4.1更新的1月9日博客文章,提到通过新API重新引入位置定位:

Google移动广告
借助Google Play服务4.1,Google移动广告SDK现在完全支持DFP广告管理系统,DoubleClick Ad Exchange和移动应用搜索广告.您还可以使用新的发布商提供的位置API,在向请求广告时向Google提供位置信息.基于位置的广告可以改善您的应用获利.

目前,我还没有找到有关此新API的任何更新文档,但预计很快就会推出 - 只要Google Play Services 4.1的推出完成即可.在此之前,我将在下面保留我的初步答案以供参考.

谷歌现已更新了有关新功能的Android文档.见下面接受的答案.

android admob google-play-services

12
推荐指数
1
解决办法
3718
查看次数

我应该使用内容提供商吗?

我正在阅读android内容提供商的官方文档,我看到了这个:

确定您是否需要内容提供商.

如果要提供以下一项或多项功能,则需要构建内容提供程序:

  • 您希望向其他应用程序提供复杂的数据或文件.
  • 您希望允许用户将应用中的复杂数据复制到其他应用中.
  • 您希望使用搜索框架提供自定义搜索建议.
  • 如果使用完全在您自己的应用程序中,则不需要提供程序来使用SQLite数据库.

我正在开发一个应用程序,当位置通过IntentService更改时,该应用程序会同步背景数据.

我所看到的是,使用ContentProvider,您可以观察到数据发生变化时我真正想要的却没有用户注意到它.它在IntentService中发生变化,MainActivity观察到这些变化,当它被通知时,布局内容会发生变化

使用ContentProvider是一个好主意,尽管他们甚至没有提到这个?

谢谢

sqlite android android-contentprovider

6
推荐指数
1
解决办法
4331
查看次数

通过lucene中的IndexReader或IndexSearcher打开目录

这两个代码有什么区别?基于性能导向和面向文档

直接使用目录 IndexSearcher

Analyzer anal = new StandardAnalyzer(Version.LUCENE_30);
QueryParser parser = new QueryParser(Version.LUCENE_30, "", anal);
Query query = parser.parse(queryStr);
Searcher searcher = new IndexSearcher(NIOFSDirectory.open(new File(indexDir)));
Run Code Online (Sandbox Code Playgroud)

使用目录IndexReader然后使用该阅读器打开搜索器

Analyzer anal = new StandardAnalyzer(Version.LUCENE_30);
QueryParser parser = new QueryParser(Version.LUCENE_30, "", anal);
Query query = parser.parse(queryStr);
IndexReader ir = IndexReader.open(NIOFSDirectory.open(new File(indexDir)), false);
IndexSearcher searcherNew = new IndexSearcher(ir);
Run Code Online (Sandbox Code Playgroud)

lucene performance

3
推荐指数
1
解决办法
3751
查看次数

我想用Proguard混淆AndroidManifest.xml

我能用Proguard混淆AndroidManifest.xml文件吗?

我想在我的proguard.config文件中写入源代码.(-adaptresourcefilenames AndroidManifest.xml)

但它不起作用.

android proguard android-manifest

3
推荐指数
2
解决办法
4355
查看次数