我无法在Android Oreo中打开默认的短信应用。 我在旧版本中使用了此代码:
Intent oIntent = new Intent(Intent.ACTION_MAIN);
oIntent.addCategory(Intent.CATEGORY_DEFAULT);
oIntent.setClassName("com.android.mms", "com.android.mms.ui.ConversationList");
startActivityForResult(oIntent, 12345);
一直运作良好。但是对于奥利奥,我收到了这个错误:
无法找到显式活动类 {com.android.mms / com.android.mms.ui.ConversationList};有你 在AndroidManifest.xml中声明了这个活动?
现在有了Oreo,我认为,用户可以选择默认的消息传递应用程序。那么,有没有办法通过代码得到哪个应用程序? 然后我只需要这样做:
String sPackageManager = GetDefaultMessagingApp(); <-- This is what I need
Intent oIntent = getPackageManager().getLaunchIntentForPackage(sPackageManager);
startActivity(oIntent);
答案 0 :(得分:0)
我将此代码用于旧版本
该代码与“打开默认的SMS应用程序”无关。这会尝试在特定应用(com.android.mms.ui.ConversationList
)中启动特定活动(com.android.mms
)。值得注意的是:
Call Telephony.Sms.getDefaultSmsPackage()
,了解用户选择的默认短信客户端。