2013-10-22 51 views
2

與Android Developers http://android-developers.blogspot.pt/2013/10/getting-your-sms-apps-ready-for-kitkat.html最近的帖子一致,我試圖準備我的應用程序到新的android版本,但遇到了一個問題,他們建議創建一個對話框讓用戶設置應用程序爲默認的應用程序來處理SMS的:準備安卓手機短信應用程序KitKat

Android開發者發佈

public class ComposeSmsActivity extends Activity { 

@Override 
protected void onResume() { 
    super.onResume(); 

    final String myPackageName = getPackageName(); 
    if (!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName)) { 
     // App is not default. 
     // Show the "not currently set as the default SMS app" interface 
     View viewGroup = findViewById(R.id.not_default_app); 
     viewGroup.setVisibility(View.VISIBLE); 

     // Set up a button that allows the user to change the default SMS app 
     Button button = (Button) findViewById(R.id.change_default_app); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Intent intent = 
         new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); 
       intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, 
         myPackageName); 
       startActivity(intent); 
      } 
     }); 
    } else { 
     // App is the default. 
     // Hide the "not currently set as the default SMS app" interface 
     View viewGroup = findViewById(R.id.not_default_app); 
     viewGroup.setVisibility(View.GONE); 
    } 
} 

}

代碼本身非常簡單,b ut我無法訪問Telephony.Sms.getDefaultSmsPackage,因爲它表示Telephony無法解析,而且找不到可以解決該問題的任何導入或聲明。

任何人都可以請幫忙嗎?

回答

2

android.provider.Telephony根本不存在(截至API 18-4.3)。

這個類將在4.4(大概是API 19)中添加,並且該博客文章突出顯示了一旦新API發佈後應該進行的更改,以便在時機到來時不會感到驚訝。

從帖子的末尾:

爲了幫助您做出改變,我們很快就會提供Android 4.4系統,讓您編譯並在Android 4.4測試更改所需的SDK組件。

不要忘了你應該把這段代碼封裝在API版本檢查中,這樣你就不會遇到沒有這個類的舊版本的問題。

+0

是的,你是正確的!我只是錯過閱讀後的最後幾行.. = \!我還是謝謝你! – Pmsc

2

此更改將打破所有短信攔截應用程序。 「請注意,從Android 4.4開始 - 您的應用程序嘗試中止SMS_RECEIVED_ACTION廣播將被忽略,因此所有感興趣的應用程序都有機會接收它。」

你認爲有辦法解決這個問題嗎?

也許至少在根?

-2

顯然有根訪問權限。最新版本的Cerberus應用聲稱要這樣做。現在

,如果只有我知道他們是如何做到這一點:(

+1

這似乎是一個評論而不是一個獨立的答案 – laalto

+0

這是對我的答案的評論我在Cerberus應用程序/網站上沒有看到任何關於此的內容,所以如果你能提供一個很棒的鏈接嗎 – user961186

+0

我看到的是一些評論Play商店顯示器的最近更改部分唉,他們似乎沒有任何一種公共更改日誌,所以此評論早已消失 我記得他們做了一些更改以修復Kit Kit下的SMS處理爲根植設備。 在試圖找到對此的一些參考時,我偶然發現了他們試圖讓它工作的討論。 https://groups.google.com/forum/#!topic/cerberus-support-forum/2QtflFm6xMU – kencorbin