Android以编程方式设置Android:targetClass和Android:targetPackage
在创建意图时,如何以编程方式设置这两个xml属性:Android以编程方式设置Android:targetClass和Android:targetPackage,android,Android,在创建意图时,如何以编程方式设置这两个xml属性: android:targetPackage="com.example.prefs" android:targetClass="com.example.prefs.SettingsActivity" 这在代码中看起来如何 Intent i = new Intent(); i.setClassName("com.example.prefs", "com.example.prefs.SettingsActivity"); 硬编码包名是不好的,因
android:targetPackage="com.example.prefs"
android:targetClass="com.example.prefs.SettingsActivity"
这在代码中看起来如何
Intent i = new Intent();
i.setClassName("com.example.prefs", "com.example.prefs.SettingsActivity");
硬编码包名是不好的,因为更改包名会破坏代码。如果您正在
FirstActivity.java
中创建意图并尝试启动SecondActivity.java
,则可以尝试以下操作-
new Intent(FirstActivity.this, SecondActivity.class);
这将不需要您提及包名。硬编码包名是不好的,因为更改包名会破坏代码。如果您正在
FirstActivity.java
中创建意图并尝试启动SecondActivity.java
,则可以尝试以下操作-
new Intent(FirstActivity.this, SecondActivity.class);
这将不需要您提及包名。我可以使用intent.setClassName(getActivity().getPackageName(),getActivity().getPackageName()+“+MainActivity.class.getSimpleName());?类的包名称并不总是应用程序的包名称。您需要应用程序的程序包名称才能工作。我可以执行intent.setClassName(getActivity().getPackageName(),getActivity().getPackageName()+“+MainActivity.class.getSimpleName());?类的包名称并不总是应用程序的包名称。您需要应用程序的程序包名称才能工作。