0

我想在安装 apk时在 sdcard 中创建一个新文件......我应该如何或在哪里编码?提前致谢!

4

2 回答 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 回答