我是一名首发Android开发人员,想知道如何实现这一目标:
1#用户正在使用例如铬 2#用户希望将页面(意思是:URL,即文本)共享到应用程序中 3#用户从共享菜单中选择应用程序 4#该应用仅显示 Chrome上的顶部的小通知(当前前景应用,即意图的发送方)
因此,该应用会收到Chrome的意图并对其执行某些操作,但不会更改前台应用。它会保留在后台并向用户显示一个非常小的通知,即此应用程序中URL的共享实际上已成功。吐司或类似的东西。
这基本上是Pocket处理共享的方式。
我怎样才能做到这一点? IntentService?我似乎无法找到正确答案。 Theme.NoDisplay,Intent,IntentService - 我无法弄清楚正确的方法,因为我还不熟悉Android。
提前多多谢谢你!
答案 0 :(得分:1)
在共享工作的活动中使用NoDisplay主题(清单中的更新活动声明),如下所示:
SELECT
ipm.HEORG_REFNO,
ipm.HOTYP_REFNO,
ipm.CASLT_REFNO,
ipm.HOLVL_REFNO,
IPM.MAIN_IDENT,
...
FROM
dbo.HEALTH_ORGANISATIONS ipm
LEFT JOIN
(SELECT
s.heorg_refno, min(s.start_dttm) as start_dttm_SPONT,
max(isnull(convert(datetime,s.end_dttm,120),convert(datetime,'9999-01-01', 120))) as end_dttm_SPONT
FROM
dbo.service_points s
INNER JOIN dbo.reference_values rfval
ON s.SPTYP_REFNO = rfval.RFVAL_REFNO
AND RFVAL.MAIN_CODE != 'PDT'
GROUP BY
s.heorg_refno) SPONT ON ipm.HEORG_REFNO = SPONT.HEORG_REFNO
LEFT JOIN SERVICE_POINT_SESSIONS sps
ON ipm.HEORG_REFNO = sps.HEORG_REFNO
AND sps.OWNER_HEORG_REFNO = 2001934
AND sps.HEORG_REFNO != 2001934
LEFT JOIN LOR_IPM_SYNTH_STG_DEV .. STAGING_Activity_LOCATION_DCS sald
ON ipm.HEORG_REFNO = sald.HEORG_REFNO
AND sald.Sources='HEORG_REFNO'
AND sald.REFNO != 2001934
WHERE NOT EXISTS (SELECT 1
FROM REFERENCE_VALUES RVAL
WHERE RVAL.RFVAL_REFNO = ipm.HOTYP_REFNO
AND RVAL.main_code IN ('011','012','015','016', '017','019','2','AANDE','AEB','AEC','CLINIC','DAYCC','DEPRT','GPSIT','HC','HOSPL','HOST','LOCTN','LOSYN','MIU','MISC','MRL', 'SITE','THEAT','WARD','PDT','NURHM','DAYCR'));
这将阻止显示活动。
然后,一旦活动开始,执行您的共享任务,显示Toast并致电foreach($_POST['name'] as $id => $name)
{
echo $name;
echo $_POST['price'][$id]
}
答案 1 :(得分:0)
完成你的活动onResume()。它不会显示您的任何活动。
你可以这样做:
protected void onResume() {
super.onResume();
finish();
}