在将文本共享到应用程序后显示*仅* * Toast(无UI)?

时间:2016-01-05 11:41:02

标签: android android-intent android-activity android-service

我是一名首发Android开发人员,想知道如何实现这一目标:

1#用户正在使用例如铬 2#用户希望将页面(意思是:URL,即文本)共享到应用程序中 3#用户从共享菜单中选择应用程序 4#该应用仅显示 Chrome上的顶部的小通知(当前前景应用,即意图的发送方)

因此,该应用会收到Chrome的意图并对其执行某些操作,但不会更改前台应用。它会保留在后台并向用户显示一个非常小的通知,即此应用程序中URL的共享实际上已成功。吐司或类似的东西。

这基本上是Pocket处理共享的方式。

我怎样才能做到这一点? IntentService?我似乎无法找到正确答案。 Theme.NoDisplay,Intent,IntentService - 我无法弄清楚正确的方法,因为我还不熟悉Android。

提前多多谢谢你!

2 个答案:

答案 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();
    }