无法解析 ondestroy 方法中的方法 'stopService(android.content.Intent)'



有人可以帮我解决这个问题吗?我在安卓工作室中遇到错误,但仍然找不到解决方案。很抱歉问你是否很容易。我仍然是安卓工作室的新手,它说"无法解析方法'stopService(android.content.Intent('"onDestroy方法


在此处输入图像描述

package com.example.gmailsignin;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.example.gmailsignin.Config.Config;
import com.paypal.android.sdk.payments.PayPalConfiguration;
import com.paypal.android.sdk.payments.PayPalPayment;
import com.paypal.android.sdk.payments.PayPalService;
import com.paypal.android.sdk.payments.PaymentActivity;
import com.paypal.android.sdk.payments.PaymentConfirmation;
import org.json.JSONException;
import java.math.BigDecimal;
import static android.app.Activity.RESULT_OK;
public class PaymentFragment<btnPayNow> extends Fragment {
public static final int PAYPAL_REQUEST_CODE =7171;
private static PayPalConfiguration config = new PayPalConfiguration()
.environment(PayPalConfiguration.ENVIRONMENT_SANDBOX) //nasa sand box environment ng paypal
.clientId(Config.PAYPAL_CLIENT_ID);
TextView totalCost;
Button btnPayNow;
String amount ="1500"; //let say na 1500 yung cost na naka indicate sa DB
@Override
public void onDestroy() {
getActivity().stopService(new Intent(this.getActivity(),PayPalService.class));
super.onDestroy();
}
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_payment, container, false);
totalCost = v.findViewById(R.id.totalcost);
btnPayNow = v.findViewById(R.id.btnPayNow);
btnPayNow.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
processPayment();
}
});
return v;
}
private void processPayment() {
//
//amount = edtAmout.getText().toString();
PayPalPayment payPalPayment = new PayPalPayment(new BigDecimal(String.valueOf(amount)), "PHP" ,
"Total Cost:", PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent( this.getActivity(), PaymentActivity.class);
intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT,payPalPayment);
startActivityForResult(intent, PAYPAL_REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PAYPAL_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
PaymentConfirmation confirmation = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirmation != null) {
try {
String paymentDetails = confirmation.toJSONObject().toString(4);
startActivity(new Intent(this.getActivity(), PaymentDetails.class)
.putExtra("PaymentDetails", paymentDetails)
.putExtra("PaymentAmout", amount)
);
} catch (JSONException e) {
e.printStackTrace();
}
}
} else if (resultCode == Activity.RESULT_CANCELED)
Toast.makeText(this.getActivity(), "Cancel", Toast.LENGTH_SHORT).show();
} else if (resultCode == PaymentActivity.RESULT_EXTRAS_INVALID)
Toast.makeText(this.getActivity(), "Invalid", Toast.LENGTH_SHORT).show();
}
}

stopService()Context上的一个方法,你的代码(大概(在一个片段中。因此,就像使用getActivity()创建Intent一样,使用getActivity()停止服务:

getActivity().stopService(new Intent(getActivity(), PayPalService.class));

顺便说一句,将来,请将代码片段发布为文本,而不是图像

最新更新