我想在按下某个组合键时实现我的BroadcastReceiver (比方说,如果我从我的小键盘上拨打1234 ),我的BroadcastReceiver将被调用。我可以通过它来启动我的活动?
下面是我修复这个问题的方法
下面是我修复这个问题的方法
public class MyKeypadListener extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String number = getResultData();
if (number!=null) {
if(number.equals("1234")){
setResultData(null);
Intent newintent = new Intent(context,SettingsActivity.class);
newintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newintent);
}
}
}
}
}在货单上我加了..
**<receiver android:name=".receivers.MyKeypadListener">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>**发布于 2012-07-10 15:01:48
下面是我如何解决这个问题的:
public class MyKeypadListener extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String number = getResultData();
if (number!=null) {
if(number.equals("1234")){
setResultData(null);
Intent newintent = new Intent(context,SettingsActivity.class);
newintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newintent);
}
}
}
}
}在清单中我添加了:
<receiver android:name=".receivers.MyKeypadListener">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>发布于 2012-03-13 13:47:42
您必须为输入这些组合的编辑文本实现TextWatcher。这个API有一些回调方法,你可以很容易地检查你的组合。
https://stackoverflow.com/questions/9678872
复制相似问题