sco*_*yab 5 android broadcastreceiver
试图拦截传出呼叫,并使解决方案运行良好
但不是三星Galaxy S运行2.1,有人见过这个吗?
<receiver android:name="com.mypackge.OutGoingCallDetection"
android:exported="true">
<intent-filter>
<action
android:name="android.intent.action.NEW_OUTGOING_CALL"
android:priority="0" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
Run Code Online (Sandbox Code Playgroud)
更新:还添加了PROCESS_OUTGOING_CALLS.
收件人:
public class OutGoingCallDetection extends BroadcastReceiver {
private static final String TAG = "OutGoingCallDetection";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.d(TAG, "onReceive, Action:" +intent.getAction());
}
}
Run Code Online (Sandbox Code Playgroud)
您需要添加用户权限:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
Run Code Online (Sandbox Code Playgroud)
请参阅此博客文章,了解如何设置和使用NEW_OUTGOING_CALL.
另请参阅此博客文章,了解您android:priority要设置的内容.
尝试按照Google Dev:Manifest.xml的建议按顺序放置清单
像这样:
<uses-permission />
...
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
Run Code Online (Sandbox Code Playgroud)
某些设备如何解析清单可能存在问题,并且可能无法正确注册接收器.
编辑:从ADT 16开始,Lint会告诉你,你的权限是在错误的地方,所以我认为这必须是一个问题然后以前认为
干杯
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |