我的申请的目的是根据某些参数过滤收到的SMS's
,并根据放弃或接受SMS
的有效性进行过滤。
我意识到它已经不再可能(因为Android KitKat
)有一个秘密的应用程序来执行此操作,因此我决定将其设为默认应用程序。
我目前在发送一个意图(通过我的应用中的onReceive
功能,通过BroadcastReceiver
)通过SMS
发送到库存SMS
应用时遇到了很多麻烦只收到某些Telephony.Sms.getDefaultSmsPackage(getApplicationContext());
。
我发现使用这段代码:
(com.android.mms)
我能够获得用于库存短信应用的已使用的已打包transaction.SmsReceiver
。通过一些研究,我发现是我正在寻找的课程。
但是,我现在无法将意图发送到此特定应用。
Intent redirectIntent = intent;
redirectIntent.setClassName("com.android.mms.transaction","com.android.mms.transaction.SmsReceiver");
redirectIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(redirectIntent);
Intent redirectIntent = intent;
redirectIntent.setClassName("com.android.mms.transaction","com.android.mms.transaction.SmsReceiver");
redirectIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(redirectIntent);
我收到以下错误:
W/System.err: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.mms.transaction/com.android.mms.transaction.SmsReceiver};
答案 0 :(得分:0)
这可能会对你有所帮助
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "12125551212");
smsIntent.putExtra("sms_body","Body of Message");
startActivity(smsIntent);