美好的一天,我试图在广播接收器中重新启动系统后显示一个警告对话框.我在清单中添加了接收器并调用了所需的权限,但在显示对话框时出错.请问我怎样才能正确实现这一点?...谢谢
我的代码:
public void onReceive(final Context context, Intent intent) {
Log.d(TAG, "received boot completed broadcast receiver... starting settings");
String settings = context.getResources().getString(R.string.restart_setting);
String yes = context.getResources().getString(R.string.Settings);
String no = context.getResources().getString(R.string.Cancel);
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(settings)
.setCancelable(false)
.setPositiveButton(yes, new DialogInterface.OnClickListener() {
public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id)
Intent config = new Intent(context, WeatherConfigure.class)
context.startActivity(config);
}
})
.setNegativeButton(no, new DialogInterface.OnClickListener() {
public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
dialog.cancel();
}
});
final AlertDialog …Run Code Online (Sandbox Code Playgroud) 我想在Android的来电屏幕上创建一个自定义弹出窗口,我希望为用户添加信息.我希望弹出窗口不会禁用后台的任何可点击性,以便用户仍然可以接听电话.
我知道有很多应用可以做到这一点,例如MeZeZe app:

更多信息:
非常感谢任何帮助!谢谢
我正在尝试实现类似于真正的来电者的应用程序,当电话响铃使用广播接收器并打开MyCustomDialog活动时,我能够获取电话号码
这是我的接收器类,通过它我可以获得呼叫开始或结束的呼叫状态.在这里,我制作了一些我在CallReceiver.java中使用的 方法
PhonecallReceiver.java
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import java.util.Date;
public abstract class PhonecallReceiver extends BroadcastReceiver
{
private static int lastState = TelephonyManager.CALL_STATE_IDLE;
private static Date callStartTime;
private static boolean isIncoming;
private static String savedNumber;
@Override
public void onReceive(Context context, Intent intent)
{
try
{
if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL"))
{
savedNumber = intent.getExtras().getString("android.intent.extra.PHONE_NUMBER");
}
else
{
String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE);
String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
int state = 0;
if(stateStr.equals(TelephonyManager.EXTRA_STATE_IDLE))
{
state = TelephonyManager.CALL_STATE_IDLE;
}
else if(stateStr.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) …Run Code Online (Sandbox Code Playgroud) 我想根据我的选择修改下面的屏幕.
我不知道如何访问这个屏幕.

我也需要修改这个屏幕

请帮我这样做.
android popup broadcastreceiver android-layout telephonymanager
我想编写一个应用程序,通过查看我的应用程序中的表(例如SQLite数据库表)来识别传入(未知)调用的电话号码.
我已经使用呼叫目录扩展在iOS中实现了这一点,但对于Android,我能找到的唯一选项是使用带有弹出窗口的 BroadcastReceiver来显示本地来电屏幕以显示联系信息.
ContactsContract.Directory似乎提供了创建自定义目录的可能性,其中本机调用应用程序可以查找调用者ID.不幸的是,我找不到任何关于如何实现这一目标的好例子.
有没有人知道是否可以使用ContactsContract.Directory实现调用者ID,或者Android中是否存在与Android中的呼叫目录扩展相似的内容?如果是这种情况,示例代码将非常有用.
我试图在来电屏幕上添加弹出窗口作为真正的调用者但无法实现.我知道这背后的逻辑是什么以及我如何实现这一点
public void onReceive(Context context, Intent intent) {
try {
// TELEPHONY MANAGER class object to register one listner
TelephonyManager tmgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
}
} catch (Exception e) {
Log.e("Phone Receive Error", " " + e);
}
}
Run Code Online (Sandbox Code Playgroud)