0

我正在制作一个应用程序,其中包含可在棉花糖前设备上执行的部分活动以及棉花糖及以上活动的一部分。 因此,我想要做的就是不要让应用程序在运行棉花糖设备支持的活动的棉花糖设备上崩溃,而只是显示您的设备不支持该模块访问的烤面包。如何保护棉花糖应用程序崩溃

在这里,我被困在手指打印模块,崩溃前棉花糖设备上的应用程序。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { 

//do something 
} 
else 
showToastMessage(); 

错误

FATAL EXCEPTION: main 
       java.lang.VerifyError: com/example/android/fingerprintdialog/MainActivity 
       at java.lang.Class.newInstanceImpl(Native Method) 
       at java.lang.Class.newInstance(Class.java:1130) 
       at android.app.Instrumentation.newActivity(Instrumentation.java:1078) 
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2210) 
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) 
       at android.app.ActivityThread.access$700(ActivityThread.java:159) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
       at android.os.Handler.dispatchMessage(Handler.java:99) 
       at android.os.Looper.loop(Looper.java:176) 
       at android.app.ActivityThread.main(ActivityThread.java:5419) 
       at java.lang.reflect.Method.invokeNative(Native Method) 
       at java.lang.reflect.Method.invoke(Method.java:525) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 
       at dalvik.system.NativeStart.main(Native Method) 

回答

0

只是检查安装的应用程序是否使用棉花糖或以上Android操作系统。

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) 
{ 
// FingerPrint is supported by Android 
    // Show the FingerPrint touch screen. 
} 
else 
{ 
//FingerPrint is not supported by Android 
//Don't show the FingerPrint touch screen. 
} 
0

把那下面的条件
if (Build.VERSION.SDK_INT >= 23) { // Your code for } else { // Code for previous versions }

+0

我did'nt有你点 – champion

+0

将需要棉花糖要执行的代码中的if语句和else语句中的预棉花糖设备的代码。 – raasesh

+0

你的代码和他的代码有什么区别? 'android.os.Build.VERSION_CODES.M'引用'const int'值23. – jAC

1

在我的应用程序中我有一个需要运行权限的下载按钮。

这是我成功地做到这一点:

public static int MY_PERMISSIONS_REQUEST_DOWNLOAD_IMAGE = 1; 

btnDownLoad.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
         urlFromDownload(); 
         } 
    }); 

public void urlFromDownload() { 

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
       if (ActivityCompat.checkSelfPermission(getActivity(), 
         Manifest.permission.WRITE_EXTERNAL_STORAGE) 
         != PackageManager.PERMISSION_GRANTED) { 

        requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 
          MY_PERMISSIONS_REQUEST_DOWNLOAD_IMAGE); 
       } else { 

        DowloadFileFromUrl downloadwall = new DowloadFileFromUrl(); 
        if (downloadwall.getStatus() == AsyncTask.Status.RUNNING) { 
         // My AsyncTask has not started yet 
         Toast.makeText(getActivity(), "Please wait until download is complete", Toast.LENGTH_SHORT).show(); 
        } else { 
         downloadwall.execute(imageUrl); 
        } 

       } 
      } else { 

       DowloadFileFromUrl downloadwall = new DowloadFileFromUrl(); 
       if (downloadwall.getStatus() == AsyncTask.Status.RUNNING) { 
        // My AsyncTask has not started yet 
        Toast.makeText(getActivity(), "Please wait until download is complete", Toast.LENGTH_SHORT).show(); 
       } else { 
        downloadwall.execute(imageUrl); 
       } 

      } 

     } 

我希望你明白我的代码。我所做的是两次写下我的下载代码。首先是棉花糖,其次是较低版本。