SMS
을받을 수있는 앱을 만들기 위해 Android 스튜디오에서 android.provider.Telephony
작업을 찾을 수 없습니다. 안드로이드 개발자를 포함한 거의 모든 기사는 인벤 트 필터 조치 android.provider.Telephony.SMS_RECEIVE
을 매니페스트 파일에 포함시켜야한다고 말합니다. 그러나 나는이 행동이 안드로이드 스튜디오에 의해 더 이상 지원되지 않는다는 것을 알아 냈습니다. 이것은 당신이 매니페스트에 의도 필터를 포함해야android studio에서 SMS 권한을 찾을 수 없습니다.
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
// Add this in manifest
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<receiver android:name=".SMSReciver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
//Create new class
public class SMSReciver extends BroadcastReceiver
{
private Context mContext;
@Override
public void onReceive(Context context, Intent intent)
{
mContext = context;
Bundle myBundle = intent.getExtras();
SmsMessage[] messages = null;
String strMessage = "";
String lMessageBody = "", lMessageFrom = "";
if (myBundle != null)
{
Object[] pdus = (Object[]) myBundle.get("pdus");
messages = new SmsMessage[pdus.length];
for (int i = 0; i < messages.length; i++)
{
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
lMessageFrom = messages[i].getOriginatingAddress();
lMessageBody = messages[i].getMessageBody();
}
}
}
}
편집 된 질문, 추가 된 태그 및 향상된 형식. – Akshay