带PIN输入的Android对话框

带PIN输入的Android对话框,android,android-alertdialog,Android,Android Alertdialog,我正在尝试将PIN输入作为对话框。 这部分工作正常。但当我输入pin并尝试将其与请求的pin进行比较时,它只会关闭对话框 这是我的代码: PinInput.java package com.ts.techassi.ts; 导入android.app.AlertDialog; 导入android.app.Dialog; 导入android.app.DialogFragment; 导入android.content.ComponentName; 导入android.content.Context;

我正在尝试将PIN输入作为对话框。 这部分工作正常。但当我输入pin并尝试将其与请求的pin进行比较时,它只会关闭对话框

这是我的代码: PinInput.java

package com.ts.techassi.ts;
导入android.app.AlertDialog;
导入android.app.Dialog;
导入android.app.DialogFragment;
导入android.content.ComponentName;
导入android.content.Context;
导入android.content.DialogInterface;
导入android.content.Intent;
导入android.content.IntentFilter;
导入android.content.pm.PackageManager;
导入android.net.Uri;
导入android.os.Bundle;
导入android.os.Environment;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.widget.EditText;
导入android.widget.TextView;
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
公共类PinInput扩展了DialogFragment{
公共最终静态字符串EXTRA_MESSAGE=“tuerschild.saschalautenschlage.tuerschild.MESSAGE”;
语境;
@凌驾
创建对话框上的公共对话框(Bundle savedInstanceState){
AlertDialog.Builder=新建AlertDialog.Builder(getActivity());
LayoutFlater充气机=getActivity().GetLayoutFlater();
builder.setView(充气机.充气(R.layout.pin_输入,null));
Log.i(“LOL”,“开始”);
builder.setMessage(“输入PIN”)
.setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
Uri url=readUrl();
对话框f=(对话框)对话框;
//字符串ts_id=url.getLastPathSegment();
EditText pin=(EditText)f.findviewbyd(R.id.pin);
TextView测试=(TextView)f.findViewById(R.id.response);
字符串pinString=pin.getText().toString();
试一试{
字符串响应=新建Http().execute().get();
//Log.i(“测试”,响应);
if(响应==pinString){
布尔值isLauncher=isMyAppLauncherDefault();
如果(isLauncher==true){
重置PreferredLauncher和OpenChooser(上下文);
}
}否则{
PinInput.this.getDialog().cancel();
}
}捕获(例外e){
e、 printStackTrace();
Log.i(“Test”,例如toString());
}
}
})
.setNegativeButton(“Abbrechen”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
//用户取消了该对话框
}
});
返回builder.create();
}
公共Uri readUrl(){
字符串fileDirectory=Environment.getExternalStorageDirectory()+“/dbDoorsign/url.txt”;
File File=新文件(fileDirectory);
StringBuilder text=新的StringBuilder();
;
试一试{
BufferedReader br=新的BufferedReader(新文件读取器(文件));
弦线;
而((line=br.readLine())!=null){
text.append(行);
}
br.close();
}
捕获(IOE异常){
}
返回Uri.parse(text.toString());
}
私有布尔值isMyAppLauncherDefault(){
最终IntentFilter筛选器=新IntentFilter(Intent.ACTION\u MAIN);
filter.addCategory(Intent.CATEGORY\u HOME);
列表过滤器=新的ArrayList();
过滤器。添加(过滤器);
最后一个字符串myPackageName=getActivity().getPackageName();
列表活动=新建ArrayList();
最终PackageManager PackageManager=(PackageManager)getActivity().getPackageManager();
packageManager.getPreferredActivities(筛选器、活动、空);
for(组件名称活动:活动){
if(myPackageName.equals(activity.getPackageName())){
返回true;
}
}
返回false;
}
公共静态void resetPreferredLauncher和OpenChooser(上下文){
PackageManager PackageManager=context.getPackageManager();
ComponentName ComponentName=新的ComponentName(上下文,FakeLauncherActivity.class);
packageManager.setComponentEnabledSetting(组件名称、packageManager.COMPONENT_启用、状态_启用、packageManager.DONT_KILL_应用程序);
意图选择器=新意图(Intent.ACTION\u MAIN);
选择器.addCategory(Intent.CATEGORY_HOME);
选择器.putExtra(额外消息,“1”);
selector.setFlags(意图、标志、活动、新任务);
上下文。起始触觉(选择器);
packageManager.setComponentEnabledSetting(componentName,packageManager.COMPONENT_ENABLED_STATE_DEFAULT,packageManager.DONT_KILL_APP);
}
}
我的第二个文件Http.java

package com.ts.techassi.ts;

import android.os.AsyncTask;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class Http extends AsyncTask<String, Void, String> {
    String USER_AGENT = "Mozilla/5.0";
    private TextView scanResults;

    @Override
    protected String doInBackground(String... url) {

        try {
            return sendGet();
        } catch (Exception e) {
            e.printStackTrace();
            return e.toString();
        }
    }

    private String sendGet() throws Exception {

        String url = "http://my.url.com";

        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // optional default is GET
        con.setRequestMethod("GET");

        //add request header
        con.setRequestProperty("User-Agent", USER_AGENT);

        int responseCode = con.getResponseCode();

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        // print result
        // System.out.println(response.toString());
        return response.toString();

    }


}
package com.ts.techassi.ts;
导入android.os.AsyncTask;
导入android.widget.TextView;
导入java.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.URL;
公共类Http扩展异步任务{
字符串USER_AGENT=“Mozilla/5.0”;
私有文本视图扫描结果;
@凌驾
受保护的字符串doInBackground(字符串…url){
试一试{
返回sendGet();
}捕获(例外e){
e、 printStackTrace();
返回e.toString();
}
}
私有字符串sendGet()引发异常{
字符串url=”http://my.url.com";
URL obj=新URL(URL);
HttpURLConnection con=(HttpURLConn
package com.ts.techassi.ts;

import android.os.AsyncTask;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class Http extends AsyncTask<String, Void, String> {
    String USER_AGENT = "Mozilla/5.0";
    private TextView scanResults;

    @Override
    protected String doInBackground(String... url) {

        try {
            return sendGet();
        } catch (Exception e) {
            e.printStackTrace();
            return e.toString();
        }
    }

    private String sendGet() throws Exception {

        String url = "http://my.url.com";

        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // optional default is GET
        con.setRequestMethod("GET");

        //add request header
        con.setRequestProperty("User-Agent", USER_AGENT);

        int responseCode = con.getResponseCode();

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        // print result
        // System.out.println(response.toString());
        return response.toString();

    }


}
if( response == pinString) {
if( pinString.equals(response) ) {