簡體   English   中英

resolveActivity(getPackageManager()) != null 返回 null

[英]resolveActivity(getPackageManager()) != null returns null

它返回 null 用於默認短信並在從我的 android 工作室運行時調用應用程序,但是在與其他人的工作室一起執行時工作,從我的 android 工作室(它正在執行沒有 else start if 語句並執行 if IActivity)

callDial.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(userData.get(position).getContNum()!= null)
            {
                Intent callIntent = new Intent(Intent.ACTION_DIAL);
                String strMobileNo = String.format("tel:%s",
                        userData.get(position).getContNum());
                //String m = "tel: " + txtCALL.getText().toString();
               /* Log.d("STR MOBILE NO : " , strMobileNo);*/

                callIntent.setData(Uri.parse(strMobileNo));
                //startActivity(callIntent);
                if(callIntent.resolveActivity(context.getPackageManager()) != null)
                    context.startActivity(callIntent);
                else
                    Log.v("ERROR : " , "Call Activity Cannot be started");
            }
        }
    });

在我的 android 工作室中,這段代碼正在執行 if 塊,即直接調用一個而不打開默認應用程序。 . .

callDirect.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (!userData.get(position).getContNum().isEmpty()) {
                String mobileNo = String.format("tel: %s", userData.get(position).getContNum());
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse(mobileNo));
                if (callIntent.resolveActivity(context.getPackageManager()) != null) {
                    context.startActivity(callIntent);
                } else
                    Log.d("CALL ERROR ", "CALL CANNOT BE INITIATED");
            }
        }
    });

在 Android 11 及更高版本上,您需要在清單中聲明一個queries元素,以便使用resolveActivity()等方法對其他包具有可見性。 請參閱: https://developer.android.com/training/basics/intents/package-visibility

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM