这是什么意思“由于异常而没有DRP密钥:java.lang.ClassNotFound
我试图解析本地URL(
http://192.168.1.94/wamp/up.php)在我的应用程序android(JSON解析)中使用它.
mainActivity android: package itawfik.com.myapplication; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class MainActivity extends ActionBarActivity { Button btnHit; TextView txtJson; ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnHit = (Button) findViewById(R.id.btnHit); txtJson = (TextView) findViewById(R.id.name); btnHit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new JsonTask().execute("http://192.168.1.94/wamp/up.php"); } }); } private class JsonTask extends AsyncTask<String,String,String> { protected void onPreExecute() { super.onPreExecute(); pd = new ProgressDialog(MainActivity.this); pd.setMessage("Please wait"); pd.setCancelable(false); pd.show(); } protected String doInBackground(String... params) { HttpURLConnection connection = null; BufferedReader reader = null; try { URL url = new URL(params[0]); connection = (HttpURLConnection) url.openConnection(); connection.connect(); InputStream stream = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(stream)); StringBuffer buffer = new StringBuffer(); String line = ""; while ((line = reader.readLine()) != null) { buffer.append(line + "n"); Log.d("Response: ","> " + line); //here u ll get whole response...... :-) } return buffer.toString(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } try { if (reader != null) { reader.close(); } } catch (IOException e) { e.printStackTrace(); } } return null; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); if (pd.isShowing()) { pd.dismiss(); } txtJson.setText(result); } } } 错误看起来像:
解决方法
我不确定它会解决您的问题,但在很多情况下,API 23或更高版本中存在权限请求问题.
我在项目中也面临同样的问题,我通过使用波纹管程序解决了这个问题. 避免由于异常导致的无DRP密钥:上面的API中的Splash屏幕中的java.lang.ClassNotFoundException请求权限23 例如: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { permission = Settings.System.canWrite(this); } else { permission = ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_SETTINGS) == PackageManager.PERMISSION_GRANTED; } if (!permission) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS); intent.setData(Uri.parse("package:" + getPackageName())); startActivityForResult(intent,CODE_WRITE_SETTINGS_PERMISSION); } } 检查上述权限后,逐个检查onActivityResult中的剩余权限. 例如, if (ActivityCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { Log.v("Permission",Manifest.permission.WRITE_EXTERNAL_STORAGE+" Permission is revoked"); ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},CODE_WRITE_SETTINGS_PERMISSION); return; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |