2016-08-22 1 views
0

Web Server (웹 응용 프로그램)에서 Android App으로 알림을 보내 비디오 녹화를 자동으로 시작/중지하고 싶습니다. 최선의 접근 방법은 무엇입니까? 신호 R 접근 방식을 사용하여웹 응용 프로그램 (ASP.Net)에서 Android 앱을 원격 제어

  1. 열기 웹 소켓 :

    나는 다음 내 마음의 방법이있다.

  2. SMS 메시징 (SMS 수신기 이벤트, 메시지를 기반으로 녹음 시작/중지)

답변

0

는 .NET 응용 프로그램에서 안드로이드 앱에서 알림을 보내 FCM을 사용하여 :

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public void Uploadfirebasedata(string firebaseid, string emailid,string Operation) 
    { 
     int ret = 0; 

     string suc = "success"; 
     // XmlDocument xmlupdatedoc = new XmlDocument(); 
     SqlParameter[] param = 

     {  


       new SqlParameter("@firebaseid", DbType.String), 

       new SqlParameter("@emailid", DbType.String), 

       new SqlParameter("@Operation", DbType.String), 

      }; 

     param[0].Value = firebaseid; 
     param[1].Value = emailid; 

     param[2].Value = Operation; 

     string SERVER_API_KEY = "YOUR SERVER API KEY"; 
     var SENDER_ID = "YOUR SENDER ID"; 
     var value = "Hi this is from HRM Team"; 
     WebRequest tRequest; 
     tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 
     tRequest.Method = "post"; 
     //tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8"; 
     //tRequest.Headers.Add(string.Format("Authorization: key={0}", SERVER_API_KEY)); 

     //tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 

     //string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" + value + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" +firebaseid + ""; 
     //Console.WriteLine(postData); 
     //Byte[] byteArray = Encoding.UTF8.GetBytes(postData); 

     tRequest.ContentType = "application/json"; 
     tRequest.Headers.Add(string.Format("Authorization: key={0}", SERVER_API_KEY)); 

     tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 
     var data = new 
     { 
      to = firebaseid, 
      notification = new 
      { 
       body = value, 
       title = "HRM", 
       icon = "myicon" 
      } 
     }; 


     var serializer = new JavaScriptSerializer(); 
     var json = serializer.Serialize(data); 

     Byte[] byteArray = Encoding.UTF8.GetBytes(json); 

     tRequest.ContentLength = byteArray.Length; 

     Stream dataStream = tRequest.GetRequestStream(); 
     dataStream.Write(byteArray, 0, byteArray.Length); 
     dataStream.Close(); 

     WebResponse tResponse = tRequest.GetResponse(); 

     dataStream = tResponse.GetResponseStream(); 

     StreamReader tReader = new StreamReader(dataStream); 

     String sResponseFromServer = tReader.ReadToEnd(); 


     tReader.Close(); 
     dataStream.Close(); 
     tResponse.Close(); 
     // return sResponseFromServer; 

     ret = objdata.ExecuteNonQuery("SP_TestWebServiceOperation", param); 


     if (ret == 1) 
     { 

      HttpContext.Current.Response.Write(new JavaScriptSerializer().Serialize(suc + sResponseFromServer)); 

      // xmlupdatedoc.LoadXml("<root><item>Successful</item></root>"); 

     } 
     else 
     { 
      //xmlupdatedoc.LoadXml("<root><item>Unsuccessful</item></root>"); 

     } 


    } 

가 먼저 중포 기지 콘솔에 응용 프로그램을 등록 할 수 있습니다. webservice를 사용하여 Android 앱에서 토큰을 받으십시오.

+0

감사합니다. 이 접근 방식을 확인하고 이에 대해 업데이트 해 드리겠습니다. –

+0

@AyyanarJayabalan 도움이 필요하면 저에게 ping 해주세요. –

관련 문제