我想利用内置的意图选择器来显示自定义过滤的应用列表,供用户选择和启动.
我知道如何获取已安装的软件包列表:
final Intent myIntent = new Intent(android.content.Intent.ACTION_MAIN);
List<ResolveInfo> resInfoList = getPackageManager().queryIntentActivities(myIntent, 0);
Run Code Online (Sandbox Code Playgroud)
此时,我想根据包名称中包含的特定字符串(或字符串的变体)过滤列表,我也可以弄清楚如何操作.
但是这里我被卡住了.据我所知,Intent.createChooser()只需要一个目标Intent作为参数.我希望有一个重载基于包和类名或其他东西的意图列表.但我没有看到类似的东西.我在某处错过了吗?
所以问题是,这可能与内置选择器有关,还是我必须使用AlertDialog Builder构建自己的选择器?我希望避免后者.
提前致谢.
我知道大多数链接应由最终用户决定如何打开,但我们不能否认有时你几乎"必须"强行进入一个新窗口(例如维护表单中的数据)在当前页面上).
我想知道的是,在新的浏览器窗口中打开链接的"最佳"方式的共识是什么.
我知道那<a href="url" target="_blank">是出局.我也知道由于<a href="#" onclick="window.open(url);">各种原因这并不理想.我也尝试用类似的东西完全替换锚点,<span onclick="window.open(url);">然后将SPAN的样式看起来像一个链接.
我倾向于<a href="url" rel="external">使用的一个解决方案是使用JavaScript将所有目标设置为标记为"外部"的锚点上的"_blank".
还有其他想法吗?什么更好?我正在寻找最符合XHTML标准且最简单的方法.
更新:我说target ="_ blank"是一个否定的,因为我已经在几个地方读过目标属性将逐步退出XHTML.
我使用一个定制的asp.net控件渲染到DIV并将"height ='0'"硬编码到元素中(我知道..愚蠢).但我需要重置它 - 以某种方式摆脱高度分配.这可以用CSS吗?
例如,我可以将高度设置为100px,它可以工作.但这不是我想要的 - 我希望删除高度分配.
更新:使用FireBug,我可以看到CSS的高度被硬编码的高度覆盖:
删除了死的ImageShack链接
我想除了删除硬编码的高度= 0之外,我无法解决这个问题.还有其他人看到了另类吗?
我有以下代码下载视频内容:
WebRequest wreq = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse())
using (Stream mystream = wresp.GetResponseStream())
{
using (BinaryReader reader = new BinaryReader(mystream))
{
int length = Convert.ToInt32(wresp.ContentLength);
byte[] buffer = new byte[length];
buffer = reader.ReadBytes(length);
Response.Clear();
Response.Buffer = false;
Response.ContentType = "video/mp4";
//Response.BinaryWrite(buffer);
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.End();
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是整个文件在播放之前下载.如何进行流式处理和播放,因为它仍在下载?或者由客户/接收器应用程序来管理?
将应用程序(或其更新)发布到市场的最佳日期和时间是什么?你发现什么能够发挥最佳效果并产生最大数量的下载/销售?
我有一个带有自引用的表,其中ParentId是ID(PK)的FK.
使用EF(代码优先),我建立了如下关系:
this.HasOptional(t => t.ParentValue)
.WithMany(t => t.ChildValues)
.HasForeignKey(t => t.ParentId);
Run Code Online (Sandbox Code Playgroud)
当我尝试删除子节点及其父节点时,DELETE命令对数据库的EF问题不按我预期的顺序 - 它首先尝试删除父节点.
我意识到我在这里有几个选项(我都不喜欢):
所以问题是..有没有办法在父记录之前强制删除子项?也许我错过了某种明确的方式告诉EF它需要在父母之前照顾这些孩子?也许有一种方法可以指示EF按ID的降序删除?我不知道......想法?
我想让我的应用程序以某种"秘密"模式运行.我想做的两件主要事情:
我知道我可以删除启动器意图过滤器来隐藏图标:
<category android:name="android.intent.category.LAUNCHER" />
Run Code Online (Sandbox Code Playgroud)
但我想基于应用程序设置以编程方式执行此操作.我想我可以解决这个问题,但对我来说最大的问题是弄清楚如何通过拨号盘启动应用程序.我已经google了搜索SO,但还没有找到任何帮助.
提前致谢.
我需要将通知推送到我的应用安装的数万个iOS设备.我正在尝试使用PushSharp,但我在这里缺少一些基本概念.起初我尝试在Windows服务中实际运行它,但无法使其工作 - 从_push.QueueNotification()调用获取空引用错误.然后我完成了所记录的示例代码所做的工作并且它有效:
PushService _push = new PushService();
_push.Events.OnNotificationSendFailure += new ChannelEvents.NotificationSendFailureDelegate(Events_OnNotificationSendFailure);
_push.Events.OnNotificationSent += new ChannelEvents.NotificationSentDelegate(Events_OnNotificationSent);
var cert = File.ReadAllBytes(HttpContext.Current.Server.MapPath("..pathtokeyfile.p12"));
_push.StartApplePushService(new ApplePushChannelSettings(false, cert, "certpwd"));
AppleNotification notification = NotificationFactory.Apple()
.ForDeviceToken(deviceToken)
.WithAlert(message)
.WithSound("default")
.WithBadge(badge);
_push.QueueNotification(notification);
_push.StopAllServices(true);
Run Code Online (Sandbox Code Playgroud)
问题#1:这很好用,我看到iPhone上的通知弹出.但是,由于它被称为推送服务,我认为它的行为就像一个服务 - 意思是,我实例化它并在Windows服务中调用_push.StartApplePushService().我想实际排队我的通知,我可以在前端做这个(管理员应用程序,让我们说):
PushService push = new PushService();
AppleNotification notification = NotificationFactory.Apple()
.ForDeviceToken(deviceToken)
.WithAlert(message)
.WithSound("default")
.WithBadge(badge);
push.QueueNotification(notification);
Run Code Online (Sandbox Code Playgroud)
显然(就像我已经说过的那样),它没有用 - 最后一行不断抛出空引用异常.
我很难找到任何其他类型的文档来展示如何以服务/客户端方式设置它(而不是一次调用所有内容).是否有可能或者我错过了应该如何利用PushSharp的观点?
问题2:此外,我似乎无法找到一种方法同时定位多个设备令牌,而无需循环遍历它们并一次排队一个通知.这是唯一的方法还是我在这里错过了什么?
提前致谢.
.net c# push-notification apple-push-notifications pushsharp
我有一个带有一堆存储过程的SQL Server 2008数据库.当我使用Subsonic 3.0.0.3提供的ActiveRecord模板时,它会为我的所有存储过程生成方法,但它们没有任何参数.我是服务器上的dbo,可以执行存储过程,而没有来自Management studio的问题.
示例存储过程
CREATE PROCEDURE [dbo].[prc_Sample]
@FileName VARCHAR(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF EXISTS ( SELECT * FROM Sample WHERE FileName = @FileName )
BEGIN
RETURN -1
END
RETURN 0
END
Run Code Online (Sandbox Code Playgroud)
样本生成方法
public StoredProcedure prc_Sample(){
StoredProcedure sp=new StoredProcedure("prc_Sample",this.Provider);
return sp;
}
Run Code Online (Sandbox Code Playgroud)
如果我检查SQLServer.ttinclude,我可以看到所有获取存储过程的方法都存在,但由于某种原因它们没有生成.这不是存储过程名称中有下划线的问题 - 这可以在有和没有下划线的情况下被破坏.
任何想法或任何人都知道如何调试模板文件?