2017-04-15 24 views
0

主要活動短信發送奇巧是全成,但不是在marsmallow,我也從設置

手動添加允許我也想在同時喜歡多個請求的相機和手機短信權限添加...幫助我請。 當我運行kitkat它的工作正常,當我運行棉花糖,然後短信不發送和不顯示任何錯誤...只要回到活動開始的地方。

public void SEND_SMS(){ 

    mynumber = (sharedPreferences.getString("string_number","")); 
    myname = (sharedPreferences.getString("string_name","")); 
    myremarks = (sharedPreferences.getString("string_remarks","")); 
    myproject = (sharedPreferences.getString("string_project","")); 
    String project = savePreferences(myproject,editproject.getText().toString()); 
    String remarks = savePreferences(myremarks,editremarks.getText().toString()); 
    String mysms = (sharedPreferences.getString("string_sms","")); 
    //dialouge(); 
    combinedate = ""+y+month+d+"-"+h+":"+mins; 
    combinevalue = "Name: "+myname+"\n"+"Project: "+project+"\n"+"Remarks: "+remarks+"\n"+"Type: "+enter; 
    mobile = (sharedPreferences.getString("string_number","")); 
    DBCreate(); 
    SubmitData2SQLiteDB(); 
    Toast.makeText(getApplicationContext(),"Thank You!",Toast.LENGTH_SHORT).show(); 
    try { 
     byte[] data = combinevalue.getBytes("UTF-8"); 
     base64 = Base64.encodeToString(data, Base64.DEFAULT); 

     byte[] dataname = myname.getBytes("UTF-8"); 
     stringname = Base64.encodeToString(dataname,Base64.DEFAULT); 

     byte[] dataproject = project.getBytes("UTF-8"); 
     stringproject = Base64.encodeToString(dataproject,Base64.DEFAULT); 

     byte[] dataremarks = remarks.getBytes("UTF-8"); 
     stringremarks = Base64.encodeToString(dataremarks,Base64.DEFAULT); 

     byte[] datalong = longitude.getBytes("UTF-8"); 
     stringlong = Base64.encodeToString(datalong,Base64.DEFAULT); 

     byte[] datalat = latitude.getBytes("UTF-8"); 
     stringlat = Base64.encodeToString(datalat,Base64.DEFAULT); 

     byte[] datatype = enter.getBytes("UTF-8"); 
     stringtype = Base64.encodeToString(datatype,Base64.DEFAULT); 

     byte[] datanumber = mobile.getBytes("UTF-8"); 
     stringnumber = Base64.encodeToString(datanumber,Base64.DEFAULT); 

     byte[] datacombine = combinedate.getBytes("UTF-8"); 
     stringdate = Base64.encodeToString(datacombine,Base64.DEFAULT); 





     base64 = combinevalue+"\n\n"+mysms+questionmark+"name="+stringname+"&"+"project="+stringproject+"&"+"remarks="+stringremarks+"&"+"lat="+stringlat+"&"+"long="+stringlong+"&"+"mobile="+stringnumber+"&"+"type="+stringtype+"&"+"date="+stringdate; 

    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } 

    SmsManager sms = SmsManager.getDefault(); 
    ArrayList<String> parts = sms.divideMessage(base64); 
    sms.sendMultipartTextMessage(mynumber,null,parts,null,null); 

} 

回答

0

權限系統已從Android 6.0改爲我們實現它的方式。對於棉花糖,你需要實現運行時權限系統。 或者手動從應用程序設置你需要給予默認關閉的權限。

請參閱this detailed link,如何使用android 6.0及更高版本實現權限系統。