我想知道我做错了什么?我知道使用sdk版本24+我需要获得一些额外的运行时权限,但我尝试了很多它们并且到目前为止没有任何工作..所以这是代码,我添加了最后一部分的权限请求,但它仍然无法正常工作,应用程序打开,但当我点击按钮应用程序崩溃..任何人都知道什么是错的?
MAIN_ACTIVITY的代码:
public class MainActivity extends Activity {
ImageView imageView;
Button button;
boolean running;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
button = (Button) findViewById(R.id.button);
running = false;
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(!running){
((AnimationDrawable) imageView.getDrawable()).start();
running = true;}
SmsManager.getDefault().sendTextMessage("+3564245237",null,"1", null, null);
int GET_MY_PERMISSION = 1;
if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED){
if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
Manifest.permission.SEND_SMS)){
}
else{
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.SEND_SMS},GET_MY_PERMISSION);
}
}
}
}
);
}
}
我在我的画作中也有这个:
<uses-permission android:name="android.permission.SEND_SMS"/>
我错过了什么?
答案 0 :(得分:0)
您是否添加了[onRequestPermissionResult()](https://developer.android.com/reference/android/support/v4/app/ActivityCompat.OnRequestPermissionsResultCallback.html#onRequestPermissionsResult(int,java.lang.String [],int []))?
它看起来像什么都没回来。您确定要调用requestPermissions吗?如果shouldShouldRequestPermissionRationale为false,则没有任何反应。