在棉花糖来电之前无法检索号码

时间:2015-11-03 04:52:16

标签: android android-6.0-marshmallow

我可以在其他版本的Android中检索来电号码,但无法在marshmallow android

中检索来电号码
public void onReceive(Context context, Intent intent) {
    mContext=context;
    if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {

        String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
        Toast.makeText(context, "Call from:" + incomingNumber, Toast.LENGTH_LONG).show();
        final Thread thread=new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1000);

                    intentStart = new Intent(mContext.getApplicationContext(), MainActivity.class);
                    intentStart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                    mContext.startActivity(intentStart);
                }

                catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        thread.start();

    }}

2 个答案:

答案 0 :(得分:0)

经过微小的修改,您的代码在我的Nexus 6上使用MRA58K正常工作。我删除了第2行并使用了context而不是mContext。我还在第13行宣布了当地意图。

答案 1 :(得分:0)

当应用程序没有PHONE权限时会发生这种情况。 它是如何工作的 - http://developer.android.com/intl/es/training/permissions/index.html#permission-groups