2015-05-05 29 views
7

Tôi đang cố gửi tin nhắn Telegram đến một số cụ thể từ trong ứng dụng Android của mình. Ngay bây giờ mã của tôi khởi chạy ứng dụng Telegram, và sau đó người dùng phải chọn destinatary. Những gì tôi muốn làm là gửi tin nhắn đến số được chỉ định mà không cần người dùng chọn liên hệ. Mã của tôi là như sau:Android - Gửi tin nhắn Telegram đến một số cụ thể

/** 
* Intent to send a telegram message 
* @param msg 
*/ 
void intentMessageTelegram(String msg) 
{ 
    final String appName = "org.telegram.messenger"; 
    final boolean isAppInstalled = isAppAvailable(mUIActivity.getApplicationContext(), appName); 
    if (isAppInstalled) 
    { 
     Intent myIntent = new Intent(Intent.ACTION_SEND); 
     myIntent.setType("text/plain"); 
     myIntent.setPackage(appName); 
     myIntent.putExtra(Intent.EXTRA_TEXT, msg);// 
     mUIActivity.startActivity(Intent.createChooser(myIntent, "Share with")); 
    } 
    else 
    { 
     Toast.makeText(mUIActivity, "Telegram not Installed", Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

Tôi đã làm điều gì đó như thế bằng cách sử dụng ý định 'eMail' (nó mở ra một lựa chọn - Telegram được liệt kê), mà tôi có thể làm cho mặc định, cuối cùng. Tôi cũng gửi các tệp đính kèm tùy chọn (0, 1 hoặc 2 - tùy thuộc vào lựa chọn của người dùng). Tôi sử dụng 'địa chỉ email 'của người nhận. –

+0

Tôi không chắc chắn bạn có thể làm điều đó vì Telegram sử dụng danh sách liên lạc điện thoại của bạn và nó không có _Type một số mới để trò chuyện with_ chức năng của chính nó – KM11

+0

Tôi đã thử. Nó hoạt động. –

Trả lời

5

Các Telegram Android App không có cách nào để gửi tin nhắn trực tiếp cho người sử dụng điện tín, vì vậy nếu bạn sử dụng mục đích chia sẻ, bạn sẽ nhận được những gì bức điện/bất kỳ ứng dụng khác muốn làm với tin nhắn được chia sẻ. Trong trường hợp này, hãy mở danh sách liên lạc để gửi tin nhắn này cho anh ta.

Nếu bạn muốn gửi tin nhắn trực tiếp cho người sử dụng Telegram bạn nên sử dụng Telegram API https://core.telegram.org/api#getting-started

một khi bạn đã cấu hình khóa API của bạn trong ứng dụng của bạn, bạn có thể gửi tin nhắn, đọc chúng hoặc thậm chí có địa chỉ liên lạc điện tín với những phương pháp

https://core.telegram.org/methods

0

một này làm việc cho tôi:

// kiểm tra xem ứng dụng đã được cài đặt đầu tiên trước khi chạy mã này.

Intent i = new Intent(Intent.ACTION_VIEW); 
      i.setData(Uri.parse("http://telegram.me/+UT_USER_ID_HERE")); 
      final String appName = "org.telegram.messenger"; 
        i.setPackage(appName); 
      this.startActivity(i); 
1

Bạn không thể gửi tới số đặc biệt, nhưng bạn có thể làm điều này bằng USERID

try { 

    Intent telegramIntent = new Intent(Intent.ACTION_VIEW); 
    telegramIntent.setData(Uri.parse("http://telegram.me/USERID")); 
    startActivity(telegramIntent); 

} catch (Exception e) { 
     // show error message 
} 

Mã này sẽ hiển thị sử dụng một cảnh báo cho việc lựa chọn các ứng dụng có hỗ trợ điện tín của uri như bản thân Telegram và Mobogram!

Mẹo: không đặt tên gói. một số người cài đặt các lựa chọn thay thế điện tín như mobogram.

+1

Tôi làm cách nào để có được tên người dùng? – NehaK

Các vấn đề liên quan