2015-06-19 48 views
0

我試圖讓一個Android應用程序,將發送短信(短信內容將被用戶指定),以來電廣播接收器變量的值。我使用,我想(當有來電到達)使用來自主要活動編輯短信(SMS)的含量值廣播接收器。我嘗試了意向,但我沒有得到解決方案。請幫忙。訪問的,其在主要活動定義(在來電)

主要活動:

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    et1=(EditText)findViewById(R.id.editText1); 
    btn=(Button)findViewById(R.id.button1); 
} 
public void clicksave(View shilpa) 
{ 
s1=et1.getText().toString(); 
} 

廣播接收器:

public class MyCallReceiver extends BroadcastReceiver 
{ 
static String incomingNumber=""; 
Context ct; 

public void onReceive(Context context, Intent intent) 
{ 
    if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) 
    { 
     incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); 

         try 
         { 
          SmsManager smsmanager=SmsManager.getDefault(); 
          smsmanager.sendTextMessage(incomingNumber, null,"######",null,null); 
          Toast.makeText(context, "Message sent succesfully",Toast.LENGTH_SHORT).show(); 
         } 
         catch (Exception e) 
         { 
          Toast.makeText(context, "SMS failed", Toast.LENGTH_LONG).show(); 
          e.printStackTrace(); 
         } 
     } 

    } 
} 
+0

你可以發佈一些代碼,以便我們可以看到你已經嘗試了什麼? –

+0

請發表您的代碼 –

+0

與你的代碼清楚.. –

回答

0

什麼讓你覺得,當用戶接收呼叫的活動將被活着嗎?

的最好方法是保存應用程序的首選項內的價值和閱讀價值,當電話打進來

final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 
final String message = preferences.getString("message"); 

然後使用message變量。

smsmanager.sendTextMessage(incomingNumber, null, message, null,null); 

在您的主要活動,保存該值在寫的EditText的喜好使用

final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); 
editor.putString("message", message); 
editor.commit(); 

,你應該確定。如果你在網上搜索,有辦法通過保存對它的引用與活動,以comunicate,但我不認爲它會在你的代碼幫助(我不喜歡的方式,反正)

+0

= PreferenceManager.getDefaultSharedPreferences(上下文).edit(); editor.putString(「message」,message); editor.commit(); – kitzz

+0

最終SharedPreferences.Editor編輯 – kitzz

0

最後我得到了在主要活動爲這個

解決方案:在廣播接收器

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
Editor editor = pref.edit(); 
editor.putString("message", message); 
editor.commit(); 

SharedPreferences pref = context.getSharedPreferences("MyPref", context.MODE_PRIVATE); 
    String a=pref.getString("message", null); 
相關問題