我想在安装 apk时在 sdcard 中创建一个新文件......我应该如何或在哪里编码?提前致谢!
问问题
117 次
2 回答
1
你绝对不能那样做。这将引入各种安全问题。正如 Ken Y -N 在他的回答中所说,最好的办法是检测您的应用程序第一次打开的时间,并在那里做一些事情。
这是一个执行此操作的活动类:
public class StartupChoiceActivity extends Activity {
private static final String TAG = StartupChoiceActivity.class.getSimpleName();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences mPrefs = getSharedPreferences("prefs", Context.MODE_PRIVATE);
if(!mPrefs.getBoolean("has_started_before", false)) {
// Do what ever you want to do the first time the app is run
} else {
//Remember our choice for next time
mPrefs.edit().putBoolean("has_started_before", true).commit();
Log.i(TAG, "We've already started the app at least once");
}
//Do what ever we want to do on a normal startup. This is pretty much always mean starting a new activity
startActivity(new Intent(this, MyNormalFirstActivity.class);
finish();
}
}
您唯一需要做的另一件事是确保在 AndroidManifest.xml 中将此活动设置为您的“启动”活动。您可以通过将此代码放入您的应用程序标签中来做到这一点:
<activity android:name=".StartupChoiceActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
于 2012-05-22T04:18:00.130 回答
0
你不能这样做; 例如,这样的功能将是让木马传播的好方法。
只需检查程序的第一次运行并在那里进行初始化。
于 2012-05-22T03:54:50.077 回答