Android应用程序可在模拟器上运行,但它会在设备上崩溃

时间:2017-03-09 20:12:03

标签: android android-intent broadcastreceiver android-pendingintent crash

按钮"开始&#34>我在main活动中的简单应用程序单击它,它调用扩展BroadcastReceiver的类的方法,此方法调用onReceive(Context context,Intent intent)。 onReceive方法的代码通过调用onReceive的意图将呼叫电话发送给我作为额外传递的号码,这样:

public void onReceive(Context context, Intent intent) {

    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
    wl.acquire();
    Bundle dati = intent.getExtras();
    String number = dati.getString("number");
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:" + number));
    if (ActivityCompat.checkSelfPermission(context, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    context.startActivity(callIntent);

    wl.release();
}

现在,该应用程序适用于Android工作室模拟器,但当我在我的设备上运行时,当我点击按钮"启动",应用程序崩溃,我不知道为什么。 我已经在清单文件中做了任何许可。

0 个答案:

没有答案