当在android手机中检测到呼入/呼出呼叫时,我想向我的父母号码发送短信
我正在尝试使用广播接收器开发一个android应用程序,我的应用程序意味着,首先我想在我的第一个活动中定义一个父编号并将其存储到数据库中,当我们安装该活动将启动的应用程序时,父编号将保存到数据库中,然后广播接收器要激活并监听呼叫状态的变化,如果通过该电话拨打任何电话,我想向家长号码发送一条消息…??…这里我如何使用广播接收器…是否可能…我在下面提到我的代码…我希望您能为此提供帮助。我尝试了许多方法,但无法得到结果。首先,我在这里创建了我的第一个活动,我访问我的数据库值并尝试激活广播接收器当在android手机中检测到呼入/呼出呼叫时,我想向我的父母号码发送短信,android,android-intent,Android,Android Intent,我正在尝试使用广播接收器开发一个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>
/舱单>
当我按下提交按钮时,我将强制关闭。您应该放置显示异常堆栈跟踪的LogCat输出 我能在代码中发现你似乎缺少的东西
您还应该放置异常StackTrace,以了解异常的原因FC@pareshMyani:谢谢你的评论,我解决了FC问题……你能告诉我如何访问我的数据库值以进行广播接收器活动……我在上面看不到……请检查一下……我的代码是..public Cursor getContact(){SQLiteDatabase db=this.getReadableDatabase();Cursor contacts=db.query(TABLE_contacts,新字符串[]{KEY_PH_NO},KEY_PH_NO+“=?”,null,null,null,null);//返回联系人返回联系人;}:谢谢你的评论我解决了这个FC问题……你能告诉我如何访问广播接收器活动的数据库值……我看不懂上面的内容……请检查一下……我的代码是..public Cursor getContact(){SQLiteDatabase db=this.getReadableDatabase();Cursor contacts=db.query(TABLE_contacts,new String[]{KEY_PH_NO},KEY_PH_NO+“=?”,null,null,null,null);//返回联系人返回联系人;}