我想開發一個使用廣播接收器的Android應用程序,我的應用程序意味着,首先我想定義和存儲一個父母號碼我的第一個活動的數據庫,當我們安裝應用程序這個活動將啓動和父號碼保存到數據庫,然後廣播接收器希望活躍,並監聽呼叫狀態改變,如果有任何電話是通過我想要的手機發送消息給父母號碼...... ?? ...我在這裏如何使用廣播接收器...是否有可能......並且我在下面提及我的代碼......我希望你能幫助我這試圖做到這一點很多方面,但我無法得到result.here首先我創建我的第一個活動,我訪問我的數據庫值,並試圖激活廣播接收器。當在Android手機中檢測/撥出電話我想發送一個短信給我的父母號碼
public class PARENT_CALLActivity extends Activity
{
String PARENT=null;
EditText edparent;
Button submit;
String parent_number;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edparent=(EditText)findViewById(R.id.editText1);
submit=(Button)findViewById(R.id.btnsubmit);
submit.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
PARENT=edparent.getText().toString();
MyDabasehandler db=new MyDabasehandler(getApplicationContext());
if(db.getContact().equals(null))
{
db.addContact(new Contacts(PARENT));
}
else
{
db.editContact();
}
Intent reciver=new Intent(getApplicationContext(),myBroadcast.class);
startActivity(reciver);
}
});
}
}
我的廣播接收器....
public class myBroadcast extends BroadcastReceiver
{
String out_number;
String myparent;
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
out_number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
MyDabasehandler db=new MyDabasehandler(context);
myparent=db.getContact().toString();
//Toast.makeText(context, out_number+"number", Toast.LENGTH_LONG).show();
SmsManager sm=SmsManager.getDefault();
sm.sendTextMessage(myparent, "5554", "calling..to"+out_number, null, null);//5554 is my emulator number to check its in emulator
Toast.makeText(context, "send"+out_number, Toast.LENGTH_SHORT).show();
}
}
和我的清單是...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sha.pcall"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".PARENT_CALLActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MyDabasehandler"
android:label="@string/app_name">
</activity>
<activity android:name=".Contacts"
android:label="@string/app_name">
</activity>
<receiver android:name=".myBroadcast"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
/manifest>
和我收到力關閉,當我按下提交按鈕。
你應該把異常堆棧跟蹤以及瞭解FC – iTech 2013-02-09 08:14:58
的原因@paresh Myani:謝謝你的評論我解決FC問題......你可以告訴我如何訪問我的數據庫值來廣播接收器的活動...我不能讀那個... plse通過它..我的代碼是..公共光標getContact() \t { \t \t SQLiteDatabase db = this.getReadableDatabase();遊標contacts = db.query(TABLE_CONTACTS,new String [] {KEY_PH_NO},KEY_PH_NO +「=?」,null,null,null,null); \t \t //返回聯繫人 \t \t返回聯繫人; \t \t \t} – ishaque 2013-02-11 06:04:27