2015-02-10 58 views
2

我正在開發一個應用程序來發送和接收SMS。我想添加到我的設置默認應用程序,如谷歌的視頻羣聊的選項:如何將我的應用程序設置爲默認接收SMS

你有一個想法?非常感謝。

+0

請看看鏈接:http://stackoverflow.com/questions/20079047/android-kitkat-4-4-hangouts-cannot-handle-sending-sms-intent HTTP:/ /android-developers.blogspot.in/2013/10/getting-your-sms-apps-ready-for-kitkat.html希望這些鏈接將幫助你想要什麼。 – sUndeep 2015-02-10 08:58:11

回答

7

如何將您的應用程序設置爲默認消息應用程序?

Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); 
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, YOUR_PACKAGE_NAME); 

如何檢查您的應用程序是否爲默認消息應用程序?

@TargetApi(Build.VERSION_CODES.KITKAT) 
public static boolean isDefaultSmsApp(Context context) { 
    return context.getPackageName().equals(Telephony.Sms.getDefaultSmsPackage(context)); 
} 

從偏好活動添加OnPreferenceClickListener並添加以下代碼裏面它首先檢查它是否已經是一個默認短信應用,然後打開一個屏幕,用戶可以改變它,否則設置當前應用程序爲默認消息應用。 Confirmation screen user will get

if (isDefaultSmsApp(getActivity())) { 
         startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS), 0); 
        } else { 
        final String packageName = getActivity().getPackageName(); 
         Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); 
         intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName); 
         startActivityForResult(intent, 0); 
        } 
+0

非常感謝! – sigifredo89 2015-02-10 20:16:59

+0

@ sigifredo89如果你對答案滿意,你可以請upvote並接受答案 – 2015-02-11 09:24:57

+0

不工作:(我在我的MainActivity中使用ur代碼onCreate() – usman 2016-02-06 05:12:01

相關問題